js中unll與undefined的關係
阿新 • • 發佈:2021-07-14
1.相同點
1)Undefined型別派生自null型別,所以在非嚴格模式的情況下,兩者是對等的
undefined==null //true
2)undefined和null在轉換為boolean型別的值時,都會轉換為fales
3)將兩者轉換為物件時都會丟擲一個TypeError的異常,也就是平時最常見的引用異常
2.不同點
1)null是JavaScript中的關鍵字,而undefined是JavaScript中的一個全域性變數,即掛載在window物件上的一個變數,並不是關鍵字
2)使用typeof 檢測兩種資料型別的時候 undefined會返回undefined 而null則會返回物件
3)在通過call呼叫toString()方法的時候undefined型別的值會返回 "[object Undefined]" 而Null型別的物件會返回"[object Null]"
Object.prototype.toString.call(undefined)//[object Undefined] Object.prototype.toString.call(null)//[object Null]
4)在進行字串型別轉換的時候 都是會轉換成他們本身的字串變數
undefined + 'string' //undefined string null + 'string' //null string
5)在進行數值型別轉換的時候
undefined = NaN 不可以進行數值運算 null = 0 可以進行數值運算