null和undefined的區別

2021-10-13 15:29:22 字數 749 閱讀 1599

首先看乙個判斷題:null和undefined 是否相等

console.log(null==undefined)//true

console.log(null===undefined)//false

觀察可以發現:null和undefined 兩者相等,但是當兩者做全等比較時,兩者又不等。

原因:null: null型別,代表「空值」,代表乙個空物件指標,使用typeof運算得到 「object」,所以你可以認為它是乙個特殊的物件值。

undefined: undefined型別,當乙個宣告了乙個變數未初始化時,得到的就是undefined。
實際上,undefined值是派生自null值的,ecmascript標準規定對二者進行相等性測試要返回true,

2、那到底什麼時候是null,什麼時候是undefined呢?

null表示"沒有物件",即該處不應該有值。典型用法是:

(1) 作為函式的引數,表示該函式的引數不是物件。

(2) 作為物件原型鏈的終點。

undefined表示"缺少值",就是此處應該有乙個值,但是還沒有定義。典型用法是:

(1)變數被宣告了,但沒有賦值時,就等於undefined。

(2) 呼叫函式時,應該提供的引數沒有提供,該引數等於undefined。

(3)物件沒有賦值的屬性,該屬性的值為undefined。

(4)函式沒有返回值時,預設返回undefined。

null和undefined的區別

null 是乙個表示 無 的物件,轉為數值時為0 undefined 是乙個表示 無 的原始值,轉為數值時為 nan。當宣告的變數還未被初始化時,變數的預設值為 undefined。null 用來表示尚未存在的物件,常用來表示函式企圖返回乙個不存在的物件。undefined表示 缺少值 就是此處應該...

NUll和Undefined的區別

null和undefined的區別 null是有屬性,但是沒有值 undefined是沒有屬性也沒有值 null的使用 1.設定未知資料型別的變數。以供後期使用 var obj null 2.釋放乙個堆記憶體 obj null 3 通過dom提供的屬性和方法獲取的元素標籤如果不存在就是null 4....

null和undefined的區別

區別一 是兩種不同的資料型別 console.log typeof undefined undefined console.log typeof null object區別二 含義不同 null可以代表空物件,看作乙個空物件指標 而undefined則表示空值。區別三 使用場景不同 null的使用場...