null和undefined的區別


1.undefined

undefined的產生為初始化的時候,如果沒有進行賦值,她是一個預定義的全局變量,例如:

 

 在你沒有進行對某個變量進行賦值的時候,他會被賦為undefined。

2.null

null是人為進行賦值的。比如某個函數或者數組等等復雜類型,你如果想要進行一個舍棄,可以把它賦值為null。此時游覽器會進行一個回收。

其中typeof(null)會是一個object。最初這么設計的原因為:通常用作一個空引用一個空對象的預期,就像一個占位符。typeof的這種行為已經被確認為一個錯誤,雖然提出了修正,出於后兼容的目的,這一點已經保持不變。

這也是上面為什么說可以把一個准備舍棄的復雜類型賦值為null的原因。

3.null和undefined的相同地方和區別

 

 他們兩個是基本相等的,但是不全等。

沒有值代表的布爾值是false,這意味着他們在條件上下文中會被被計算為false,如if語句。使用相等操作符(= =)比較這兩個值和其他false值,   但是其實null並不等於false,undefined同樣也是。

 

 

 


免責聲明!

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



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