undefined與null的區別

1、相似性

if (!undefined) console.log('undefined is false'); // undefined is false if (!null) console.log('null is false'); // null is false undefined == null// true

undefined和null在if語句中都會被自動轉為false

2、不同之處

undefined

undefined表示“缺少值”,典型用法:

  • 變量被聲明了,沒有賦值
  • 調用函數時,應該提供的參數沒有提供
  • 對象的屬性沒有賦值
  • 函數沒有返回值

var i; i // undefinedfunction

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

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

x = f(); x // undefined

NULL

  • 作為原型鏈的終點
  • DOM,它是獨立于語言的,不屬于ECMAScript規范的范圍。因為它是一個外部API,試圖獲取一個不存在的元素返回一個null值,而不是undefined

Object.getPrototypeOf(Object.prototype) // null

埋點:

{}與 null,類型不同(引用類型、基礎類型)
NAN

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 前端07班 王語句JavaScript程序的執行單位為行(line),也就是一行一行地執行。一般情況下,每一行就是...
    ea203453e188閱讀 912評論 0 4
  • 在常見的強類型語言中,通常有一個表示“空”的值,比如NULL。但是在JavaScript中,空(或者叫“無值”)有...
    _李雷閱讀 385評論 0 0
  • 語句 JavaScript程序的執行單位為行(line),也就是一行一行地執行。一般情況下,每一行就是一個語句。 ...
    米塔塔閱讀 465評論 1 10
  • 一、相似性 在JavaScript中,將一個變量賦值為undefined或null,老實說,幾乎沒區別。 unde...
    前端混合開發閱讀 243評論 0 1
  • 文/若蝶 在朋友圈里看到一條微信:王思聰他爹給了他五個億,他賺了四十億,翻了八倍,而我拿2塊錢買了一副手套,去了工...
    若蝶翩翩閱讀 1,161評論 3 5