js undefined 和 null 的區別和使用


1、定義

  •  (1)undefined:是所有沒有賦值變量的默認值,自動賦值。
  •  (2)null:主動釋放一個變量引用的對象,表示一個變量不再指向任何對象地址。

2、何時使用null?

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

3、null 與 undefined 的異同點是什么呢?

共同點:都是原始類型,保存在棧中變量本地。

不同點:

(1)undefined——表示變量聲明過但並未賦過值。

它是所有未賦值變量默認值,例如:

var a;    // a 自動被賦值為 undefined

(2)null——表示一個變量將來可能指向一個對象。

一般用於主動釋放指向對象的引用,例如:

var emps = ['ss','nn'];
emps = null;     // 釋放指向數組的引用

4、延伸——垃圾回收站

它是專門釋放對象內存的一個程序。

  •  (1)在底層,后台伴隨當前程序同時運行;引擎會定時自動調用垃圾回收期;
  •  (2)總有一個對象不再被任何變量引用時,才釋放。

 

5、null 和 undefined 的值相等,但類型不等:

typeof undefined             // undefined
typeof null                  // object
null === undefined           // false
null == undefined            // true


免責聲明!

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



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