今天將跟大家介紹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中隱形型別轉換是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!