JS中null與undefined的區別


1. 相同點

  if 判斷語句中,兩者都會被轉換為false

 

2. 不同點

  • Number轉換的值不同,Number(null)輸出為0, Number(undefined)輸出為NaN

  • null表示一個值被定義了,但是這個值是空值
    • 作為函數的參數,表示函數的參數不是對象

    • 作為對象原型鏈的終點 (Object.getPrototypeOf(Object.prototype))

    • 定義一個值為null是合理的,但定義為undefined不合理(var name = null)      
  • undefined表示缺少值,即此處應該有值,但是還沒有定義
    • 變量被聲明了還沒有賦值,就為undefined

    • 調用函數時應該提供的參數還沒有提供,該參數就等於undefined

    • 對象沒有賦值的屬性,該屬性的值就等於undefined

    • 函數沒有返回值,默認返回undefined

  • 示例     

var i;
i // undefined

function f(x){console.log(x)}
f() // undefined

var  o = new Object();
o.p // undefined

var x = f();
x // undefined

詳情參考:http://www.ruanyifeng.com/blog/2014/03/undefined-vs-null.html

     


免責聲明!

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



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