JavaScript中Null和Undefined的區別


Null:

null是js中的關鍵字,表示空值,null可以看作是object的一個特殊的值,如果一個object值為空,表示這個對象不是有效對象。

Undefined:

undefined不是js中的關鍵字,其是一個全局變量,是Global的一個屬性,以下情況會返回undefined:

1)使用了一個未定義的變量;var i;

2)使用了已定義但未聲明的變量;

3)使用了一個對象屬性,但該屬性不存在或者未賦值;

4)調用函數時,該提供的參數沒有提供:

function func(a){
   console.log(a);       
}
func();//undefined

 5)函數沒有返回值時,默認返回undefined

var aa=func();
aa;//undefined

相同點:

都是原始類型的值,保存在棧中變量本地

兩者的區別:

1.類型不一樣:

console.log(typeOf undefined);//undefined

console.log(typeOf null);//object

 

2.轉化為值時不一樣:undefined為NaN ,null為0

console.log(Number(undefined));//NaN
console.log(Number(10+undefined));//NaN

console.log(Number(null));//0
console.log(Number(10+null));//10

 3.undefined===null;//false

    undefined==null;//true

何時使用:

null當使用完一個比較大的對象時,需要對其進行釋放內存時,設置為null;

var arr=["aa","bb","cc"];
arr=null;//釋放指向數組的引用

 


免責聲明!

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



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