5 回答
LynChan
TA贡献2条经验 获得超0个赞
undefined表示变量声明但未初始化时的值,
null表示准备用来保存对象,还没有真正保存对象的值。从逻辑角度看,null值表示一个空对象指针。
JavaScript(ECMAScript标准)里共有5种基本类型:Undefined, Null, Boolean, Number, String,和一种复杂类型Object。可以看到null和undefined分属不同的类型,未初始化定义的值用typeof检测出来是"undefined"(字符串),而null值用typeof检测出来是"object"(字符串)。
任何时候都不建议显式的设置一个变量为undefined,但是如果保存对象的变量还没有真正保存对象,应该设置成null。
实际上,undefined值是派生自null值的,ECMAScript标准规定对二者进行相等性测试要返回true,即
alert(null==undefined); // tru
target_one
TA贡献2条经验 获得超1个赞
var obj = { };
console.log(obj.a) // undefined
obj.a = null ;
console.log(obj.a) // null
null == undefined // true
null === undefined // false
添加回答
举报
0/150
提交
取消