1. 程式人生 > >JS 中 undefined,not defined 和 null

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”