您好,登錄后才能下訂單哦!
這篇文章主要介紹JavaScript中隱形類型轉(zhuǎn)換指的是什么,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
Javascript中的隱式類型轉(zhuǎn)換是內(nèi)部隱式調(diào)用顯示的方法,是將不需要的值類型轉(zhuǎn)換為想要的類型。比如你傳遞的是一個(gè)字符串,但是你想要一個(gè)數(shù)字或者對(duì)象,隱式類型轉(zhuǎn)換就會(huì)將它轉(zhuǎn)換為正確的類型,而且這是系統(tǒng)內(nèi)部轉(zhuǎn)換,所以即使轉(zhuǎn)換了我們也不知道
(1)數(shù)值表達(dá)式中的非數(shù)字值
數(shù)字的轉(zhuǎn)換過(guò)程類似于Number在值上調(diào)用內(nèi)置函數(shù),也就是任何只包含數(shù)字字符的字符串都將轉(zhuǎn)換為它的等價(jià)數(shù)字,但是返回值包含非數(shù)字字符的字符串返回的就是NaN
例:將字符串轉(zhuǎn)換為數(shù)字,但里面不包含純數(shù)字的話就會(huì)返回NaN
Number("1") // 1 Number("1+1") // NaN Number("1a") // NaN Number("text") // NaN
(2)+運(yùn)算符的情況
+符號(hào)運(yùn)算有兩種功能,一種是表示數(shù)字加法 ,另外一種是字符串之間的連接
例:當(dāng)數(shù)字與數(shù)字相加時(shí)表示數(shù)學(xué)加法,當(dāng)數(shù)字與字符串相加時(shí)表示連接
1 + "2" // "12" 1 + "js" // "1js" 1 + 2 // 3
(3)對(duì)象
在Javascript對(duì)象轉(zhuǎn)換中大多數(shù)情況下會(huì)導(dǎo)致[object Object]
例:一個(gè)字符串與一個(gè)對(duì)象相加
"obj" + {} // "obj[object Object]"
注意:在程序中每個(gè)javascript對(duì)象都會(huì)繼承一個(gè)toString方法,只要將對(duì)象轉(zhuǎn)換為字符串,就會(huì)調(diào)用該方法
(4)數(shù)組對(duì)象
通過(guò)調(diào)用join且沒(méi)有任何參數(shù)的數(shù)組方法時(shí),當(dāng)需要字符串的數(shù)組,Javascript將toString方法的返回值與第二個(gè)操作數(shù)連接起來(lái)。如果需要數(shù)字,就會(huì)嘗試將返回值轉(zhuǎn)換為數(shù)字。
[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中隱形類型轉(zhuǎn)換指的是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。