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