undefined類型只有一個值,即undefined。在使用var聲明變量但未對其加以初始化時,這個變量的值就是undefined;
var mes;
alert(mes == undefined) //true
如果變量沒有聲明就會出現錯誤
var mes;
alert(mes) //undefined
alert(a)//error
?
然而有一種情況很讓人困惑
var mes;
alert(typeof mes) //undefined
alert(typeof aaa) //undefined aaa沒有聲明
對未聲明的變量使用操作符typeof 依然可以返回undefined
至此,比較合理的解釋是對undefined不會執行真正的操作。
還有一點,undefined值是派生自null值的,所以進行相等測試時返回的是true
alert(null == undefined) // true