來理解undefined 和 null 區別

轉載自:https://www.cnblogs.com/ly0612/p/6696982.htmljavascript

以前雖然也知道這兩個之間的區別,可是讓我描述的話,感受上仍是說的不是很清楚。今天也詳細看了一次這個知識點,如今來講說這二者間的區別。html

 

null: Null類型,表明「空值」,表明一個空對象指針,使用typeof運算獲得 「object」,因此你能夠認爲它是一個特殊的對象值。java

undefined: Undefined類型,當一個聲明瞭一個變量未初始化時,獲得的就是undefined。函數

null是javascript的關鍵字,能夠認爲是對象類型,它是一個空對象指針,和其它語言同樣都是表明「空值」,不過 undefined 倒是javascript纔有的。undefined是在ECMAScript第三版引入的,爲了區分空指針對象和未初始化的變量,它是一個預約義的全局變量。沒有返回值的函數返回爲undefined,沒有實參的形參也是undefined。設計

 

javaScript權威指南: null 和 undefined 都表示「值的空缺」,你能夠認爲undefined是表示系統級的、出乎意料的或相似錯誤的值的空缺,而null是表示程序級的、正常的或在乎料之中的值的空缺。指針

哈哈哈!!是否是感受不是在說人話。若是和我同樣不是很能聽懂,請看下面。htm

 

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

 

最後,個人理解就是: undefined是訪問一個未初始化的變量時返回的值,而null是訪問一個還沒有存在的對象時所返回的值。所以,能夠把undefined看做是空的變量,而null看做是空的對象。blog

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

相關文章
相關標籤/搜索