DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> JS類型undefined與null區別
JS類型undefined與null區別
編輯:JavaScript基礎知識     
JavaScript中的null在其他編程語言中也很常見,但是JavaScript在設計的過程中null自動轉換為0,為了更好表示空,這個時候undefined出現了,null通過typeof結果是“object”,undefined通過typeof表示這個值是這個類型的唯一成員。null和undefined中都是表示值的空缺,不過兩者當做布爾值時都是false,通過==的時候都是相等的,但是null和undefined分別字符串,數字,布爾值相比都是false。

Null和Undefined區別

JavaScript取值為null的情況有兩種:



//獲取不到元素
1.var notExist= document.getElementById('notExist');//null

//原型鏈的終點,也是返回null的
2.Object.getPrototypeOf(Object.prototype)//null


undefined的情況如下:

①變量聲明,未賦值;



var a;//undefined


②查詢對象的屬性或數組元素的值不存在時,返回undefined;



var arr=[1,2,3];//博客園-FlyElephant
console.log(arr[5]);//undefined  


③函數沒有任何返回值的時候返回undefined;



function f(){};console.log(f());//undefined


④引用沒有提供實參的函數形參的值會得到undefined:

function f(x){console.log(x);}f();//undefined
題外話

以前有一個很經典的JavaScript問題:

if (!("a" in window)) {
var a = 1;
}
console.log(a);//博客園-FlyElephant
最後輸出的是undefined,其中a是可以訪問的,所有的聲明都是提前聲明的,a最開始的定義值是undefined,"a" in window是真,因此賦值語句沒法執行到,最後的執行結果是undefined;
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved