1.undefined
undefined只有一個值,即undefined,當(dāng)聲明的變量未初始化時,該變量的值就是undefined
var oTemp;
alert(oTemp==undefined)//true
還可以用typeof運算符,打印出該變量的值undefined
alert(typeof oTemp);//undefined
undefined并不等于未定義的值,只是沒有初始化,但是typeof不區(qū)分這兩種值,如下面的程序
var oTemp1;
alert(oTemp1);//打印出 undefined
alert(oTemp2);//打印出 undefined
盡管只有oTemp2是未定義的,上面兩個都是輸出undefined,如果直接對oTemp2進行操作,就會出錯,如:alert(oTemp2==undefined);當(dāng)函數(shù)沒有明確返回值的時候,他返回的也是undefined
2.null
null也只有一個值,null。值undefined實際上是從null派生來的,ECMAScript把他們定義為相等的,alert(null==undefined);//true 雖然他們是相等的,但是表示的意思不同,undefined代表變量未被初始化,null則代表對象尚未存在(注:typeof null返回的是object)