您好,登錄后才能下訂單哦!
1.1-隱式轉換介紹
在js中,當運算符在運算時,如果兩邊數據不統一,CPU就無法計算,這時我們編譯器會自動將運算符兩邊的數據做一個數據類型轉換,轉成一樣的數據類型再計算,這種無需程序員手動轉換,而由編譯器自動轉換的方式就稱為隱式轉換,例如1 > "0"這行代碼在js中并不會報錯,編譯器在運算符時會先把右邊的"0"轉成數字0然后再比較大小
關于== 和 ===的性能,有人會覺得, == 的性能會比 === 的性能要慢。沒錯,== 確實是要比 === 多花一點時間,但是這只是微秒級的差別,也就是萬分之一秒左右,對于程序來說可忽略不計。但是無論 == 還是 === 都會檢測類型,只是檢測出來之后各自的操作不一樣。
空數組的toString()方法會得到空字符串,而空對象的toString()方法會得到字符串[object Object]
(注意第一個小寫o,第二個大寫O喲)
邏輯運算符優先級高于關系運算符
1.邏輯非將其他數據類型轉換成布爾類型
2.關系運算符將其他數據類型轉換成數字
valueOf() 方法可返回 Boolean 對象的原始值。
console.log( [ ] == 0) //true 空數組的toString()方法會得到空字符串
console.log( ![ ] == 0) //true 空數組轉布爾得到true 然后取反得到false
console.log( [ ] == [ ]) //false
console.log( !{} == 0) //false 空對象
console.log( {} == {}) //false 引用數據類型存在堆中,堆中存儲的是地址
console.log( !{} == {}) //false
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。