首頁 >web前端 >js教程 >在JavaScript中隱形型別轉換是什麼

在JavaScript中隱形型別轉換是什麼

清浅
清浅原創
2018-11-22 10:41:163413瀏覽

今天將跟大家介紹JavaScript中隱含轉換的知識,希望能對大家學習JavaScript有幫助。

Javascript中的隱式型別轉換是內部隱式呼叫顯示的方法,是將不需要的值型別轉換為想要的型別。例如你傳遞的是一個字串,但是你想要一個數字或對象,隱式類型轉換就會將它轉換為正確的類型,而且這是系統內部轉換,所以即使轉換了我們也不知道

(1)數值表達式中的非數字值

數字的轉換過程類似於Number在值上呼叫內建函數,也就是任何只包含數字字元的字串都會轉換為它的等價數字,但是回傳值包含非數字字元的字串回傳的就是NaN

#例:將字串轉換為數字,但裡面不包含純數字的話就會回傳NaN

Number("1") // 1
Number("1+1") // NaN
Number("1a") // NaN
Number("text") // NaN

(2) #運算子的情況

## 符號運算有兩種功能,一種是表示數字加法,另外一種是字串之間的連接

例:當數字與數字相加時表示數學加法,當數字與字串相加時表示連接

1 + "2" // "12"
1 + "js" // "1js"
1 + 2 // 3

(3)物件

在Javascript物件轉換中大多數情況下會導致[object Object]

例如:一個字串與一個物件相加上

"obj" + {} // "obj[object Object]"

注意:在程式中每個javascript物件都會繼承一個toString方法,只要將物件轉換為字串,就會呼叫該方法

##(4)陣列對象

透過呼叫join且沒有任何參數的陣列方法時,當需要字串的陣列,Javascript將toString方法的回傳值與第二個運算元連接起來。如果需要數字,就會嘗試將回傳值轉換為數字。

[1,2,3].toString() // "1,2,3"
[1,2,3].join() // "1,2,3"
4 + [1,2,3] // "41,2,3"
4 * [1,2,3] // NaN

總結:以上就是有關JavaScript中隱式類型的轉換,希望透過這篇文章可以讓大家對隱式型別轉換有所了解。


以上是在JavaScript中隱形型別轉換是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn