undefined类型只有一个值(undefined)。在使用var声明变量但未对其初始化时,这个变量的值就是undefined。
var abc;
alert(abc);//undefined
console.log(typeof abc);//undefined
对为初始化的变量执行typeof操作符会返回undefined,而对于未声明的变量执行typeof操作符同样也会返回undefined值。
var abc;
console.log(typeof abc);//undefined
console.log(typeof bcd);//undefined
null类型是第二个只有一个值的数据类型。null值表示一个空对象指针,这也正是使用typeof操作符检测null值时会返回“object”的原因
var object1 = {};
var object2 = {};
console.log(object1 == object2);//false
var aaa = null;
console.log(typeof aaa);//object
var bbb = {};
console.log(typeof bbb);//object
位于null和undefined之间的相等操作符(==)总是返回true,因为这个操作符出于比较的目的会转换其操作数。