JS 中 undefined,not defined 和 null

undefined 和 not defined 看起來是差不多意思,在JS中大有不同:

undefined 是JS中五種簡單數據類型(undefined,string,number, null,boolean)中的一種,表示一個已聲明但未初始化的變量,或一個並不存在的對象屬性

而當使用一個尚未定義的的變量時,會出錯:
Uncaught ReferenceError: b is not defined

對未初始化的變量執行 typeof操作符會返回 undefined,但是對未聲明的變量執行typeof操作符也會返回undefined 。請查看以下例子:

<script type="text/javascript">
    var a;
    console.log("a申明未賦值,輸出爲"+a);
    console.log("c未聲明,typeof輸出爲"+ typeof c);
    console.log("b未聲明,輸出爲"+b);
</script>

結果輸出:
a申明未賦值,輸出爲undefined
c未聲明,typeof輸出爲undefined
Uncaught ReferenceError: b is not defined

undefined 和 null

null 表示無值
undefined表示一個已聲明但未初始化的變量,或一個並不存在的對象屬性

只能用===來判斷undefined,因爲==會默認爲 undefined等於null

下例:

var t1=null
var t2

if (t1==undefined) {alert("t1 is undefined")}
if (t2===undefined) {alert("t2 is undefined")}

結果:會依次彈出 “t1 is undefined”“t2 is undefined”

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章