null == 0; // false undefined == ""; // false null == false; // false undefined == false; // false null == undefined; // true
儘管如此,和其餘類似之處,但null和undefined並非等價的。每一個做爲其獨特的類型的惟一成員,undefined是Undefined類型和null是Null類型。使用全等操做符(===)比較這兩個值,這要求類型和值都相等,下面證實這一點:數組
undefined === null; // false
var foo; // 默認值爲 undefined
當試圖訪問一個不存在的對象屬性或數組項時,返回一個undefined值:函數
var array = [1, 2, 3]; var foo = array.foo; // foo 屬性不存在, 返回 undefined var item = array[5]; // 數組中沒有索引爲5的項,返回 undefined
若是省略了函數的返回語句,返回undefined:spa
var value = (function(){})(); // 返回 undefined
函數調用時未提供的值結果將爲undefined參數值:code
(function(undefined){ // 參數是 undefined })();