來理解undefined 和 null 區別


之前雖然也知道這兩個之間的區別,但是讓我描述的話,感覺上還是說的不是很清楚。今天也詳細看了一次這個知識點,現在來說說這兩者間的區別。

 

null: Null類型,代表“空值”,代表一個空對象指針,使用typeof運算得到 “object”,所以你可以認為它是一個特殊的對象值。

undefined: Undefined類型,當一個聲明了一個變量未初始化時,得到的就是undefined。

null是javascript的關鍵字,可以認為是對象類型,它是一個空對象指針,和其它語言一樣都是代表“空值”,不過 undefined 卻是javascript才有的。undefined是在ECMAScript第三版引入的,為了區分空指針對象和未初始化的變量,它是一個預定義的全局變量。沒有返回值的函數返回為undefined,沒有實參的形參也是undefined。

 

javaScript權威指南: null 和 undefined 都表示“值的空缺”,你可以認為undefined是表示系統級的、出乎意料的或類似錯誤的值的空缺,而null是表示程序級的、正常的或在意料之中的值的空缺。

哈哈哈!!是不是感覺不是在說人話。如果和我一樣不是很能聽懂,請看下面。

 

javaScript高級程序設計: 在使用var聲明變量但未對其加以初始化時,這個變量的值就是undefined。   null值則是表示空對象指針。

 

最后,我的理解就是: undefined是訪問一個未初始化的變量時返回的值,而null是訪問一個尚未存在的對象時所返回的值。因此,可以把undefined看作是空的變量,而null看作是空的對象。

在定義一個想保存對象的變量時,就可以讓該變量先保存null值,這樣既能體現null是一個空指針對象,也能更好的區分null和undefined。


免責聲明!

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



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