null: 表示一個對象被定義了,值爲「空值」; undefined 表示不存在這個值markdown
typeof undefined //"undefined"
複製代碼
undefined: :是一個表示"無"的原始值或者說表示"缺乏值",就是此處應該有一個值,但尚未定義。當嘗試讀取時會返回 undefined;例如:變量被聲明瞭,但沒有賦值時,就等於 undefinedapp
typeof null //"object"
複製代碼
null : 是一個對象(空對象, 沒有任何屬性和方法);例如做爲函數的參數,表示該函數的參數不是對象;ide
在驗證 null 時,必定要使用=== ,由於 == 沒法分別 null 和 undefined函數
3.對象沒有賦值的屬性,該屬性的值爲 undefined 4.函數沒有返回值時,默認返回 undefinedui
一、訪問聲明,可是沒有初始化的變量lua
var aaa;
console.log(aaa); // undefined
複製代碼
二、訪問不存在的屬性url
var aaa = {};
console.log(aaa.c);
複製代碼
三、訪問函數的參數沒有被顯式的傳遞值spa
(function (b){
console.log(b); // undefined
})();
複製代碼
四、訪問任何被設置爲 undefined 值的變量3d
var aaa = undefined;console.log(aaa); // undefined
複製代碼
五、沒有定義 return 的函數隱式返回code
function aaa(){}console.log(aaa()); // undefined
複製代碼
六、函數 return 沒有顯式的返回任何內容
function aaa(){
return;
}
console.log(aaa()); // undefined
複製代碼