來理解undefined 和 null 區別
阿新 • • 發佈:2018-12-30
之前雖然也知道這兩個之間的區別,但是讓我描述的話,感覺上還是說的不是很清楚。今天也詳細看了一次這個知識點,現在來說說這兩者間的區別。
null: Null型別,代表“空值”,代表一個空物件指標,使用typeof運算得到 “object”,所以你可以認為它是一個特殊的物件值。
undefined: Undefined型別,當一個聲明瞭一個變數未初始化時,得到的就是undefined。
null是javascript的關鍵字,可以認為是物件型別,它是一個空物件指標,和其它語言一樣都是代表“空值”,不過 undefined 卻是javascript才有的。undefined是在ECMAScript第三版引入的,為了區分空指標物件和未初始化的變數,它是一個預定義的全域性變數
javaScript權威指南: null 和 undefined 都表示“值的空缺”,你可以認為undefined是表示系統級的、出乎意料的或類似錯誤的值的空缺,而null是表示程式級的、正常的或在意料之中的值的空缺。
哈哈哈!!是不是感覺不是在說人話。如果和我一樣不是很能聽懂,請看下面。
javaScript高階程式設計: 在使用var宣告變數但未對其加以初始化時,這個變數的值就是undefined。 null值則是表示空物件指標。
最後,我的理解就是: undefined是訪問一個未初始化的變數時返回的值,而null是訪問一個尚未存在的物件時所返回的值。因此,可以把undefined看作是空的變數,而null看作是空的物件。
在定義一個想儲存物件的變數時,就可以讓該變數先儲存null值,這樣既能體現null是一個空指標物件,也能更好的區分null和undefined。