溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

隱式類型轉(zhuǎn)換

發(fā)布時間:2020-07-24 17:20:26 來源:網(wǎng)絡 閱讀:133 作者:喝醉的熊 欄目:web開發(fā)

1.1-隱式轉(zhuǎn)換介紹
在js中,當運算符在運算時,如果兩邊數(shù)據(jù)不統(tǒng)一,CPU就無法計算,這時我們編譯器會自動將運算符兩邊的數(shù)據(jù)做一個數(shù)據(jù)類型轉(zhuǎn)換,轉(zhuǎn)成一樣的數(shù)據(jù)類型再計算,這種無需程序員手動轉(zhuǎn)換,而由編譯器自動轉(zhuǎn)換的方式就稱為隱式轉(zhuǎn)換,例如1 > "0"這行代碼在js中并不會報錯,編譯器在運算符時會先把右邊的"0"轉(zhuǎn)成數(shù)字0然后再比較大小

關(guān)于== 和 ===的性能,有人會覺得, == 的性能會比 === 的性能要慢。沒錯,== 確實是要比 === 多花一點時間,但是這只是微秒級的差別,也就是萬分之一秒左右,對于程序來說可忽略不計。但是無論 == 還是 === 都會檢測類型,只是檢測出來之后各自的操作不一樣。

空數(shù)組的toString()方法會得到空字符串,而空對象的toString()方法會得到字符串[object Object] (注意第一個小寫o,第二個大寫O喲)

邏輯運算符優(yōu)先級高于關(guān)系運算符
1.邏輯非將其他數(shù)據(jù)類型轉(zhuǎn)換成布爾類型
2.關(guān)系運算符將其他數(shù)據(jù)類型轉(zhuǎn)換成數(shù)字

valueOf() 方法可返回 Boolean 對象的原始值。
console.log( [ ] == 0) //true 空數(shù)組的toString()方法會得到空字符串
console.log( ![ ] == 0) //true 空數(shù)組轉(zhuǎn)布爾得到true 然后取反得到false

console.log( [ ] == [ ]) //false
console.log( !{} == 0) //false 空對象

console.log( {} == {}) //false 引用數(shù)據(jù)類型存在堆中,堆中存儲的是地址
console.log( !{} == {}) //false

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI