javascript 隱性類型轉換步驟


這里說的隱性類型轉換,是==引起的轉換。

  1. 如果存在NaN,一律返回false
  2. 再看有沒有布爾,有布爾就將布爾轉換為數字
  3. 接着看有沒有字符串, 有三種情況,對方是對象,對象使用toString進行轉換;對方是數字,字符串轉數字;對方是字符串,直接比較;其他返回false
  4. 如果是數字,對方是對象,對象取valueOf進行比較, 其他一律返回false
  5. null, undefined不會進行類型轉換, 但它們倆相等

這個順序一定要死記,這是面試時經常問到的。

下面是一些雜題,自己做做


0 == undefined

1 == true


2 == {valueOf: function(){return 2}}


NaN == NaN

 8 == undefined

1 == undefined

 null == {toString: function(){return 2}}
 
 0 == null

 null == 1



 { toString:function(){ return 1 } , valueOf:function(){ return [] }} == 1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM