在JavaScript中,undefined
表示变量已被声明但尚未分配值,例如:
var TestVar;
alert(TestVar); //shows undefined
alert(typeof TestVar); //shows undefined
null
是分配值。可以将其分配给变量,以表示没有值:
var TestVar = null;
alert(TestVar); //shows null
alert(typeof TestVar); //shows object
从前面的示例中可以明显看出,undefined
和null
是两个不同的类型:undefined
是类型本身(未定义),null
而是对象。
null === undefined // false
null == undefined // true
null === null // true
和
null = 'value' // ReferenceError
undefined = 'value' // 'value'