JavaScript 空和未定义
示例
null和之间的区别undefined
null并undefined分享抽象平等==而不是严格平等===,
null == undefined //真正 null === undefined //假
它们代表略有不同的事物:
undefined表示缺少值,例如在创建标识符/对象属性之前,或者在创建标识符/函数参数与首次设置标识符(如果有)之间的时间段内。
null表示故意缺少已经创建的标识符或属性的值。
它们是不同类型的语法:
undefined是全局对象的属性,通常在全局范围内不可变。这意味着您可以在全局命名空间之外定义标识符的任何地方都可以undefined从该范围中隐藏(尽管仍然可以undefined)
null是字面意思的单词,因此它的含义是永不改变的,试图这样做将会抛出Error。
null和之间的相似之处undefined
null而且undefined都是虚假的。
if (null) console.log("won't be logged");
if (undefined) console.log("won't be logged");无论是null或undefined等于false(见这个问题)。
false == undefined //假 false == null //假 false === undefined //假 false === null //假
使用undefined
如果当前范围不可信,请使用评估为undefined的值,例如void0;。
如果undefined被另一个值遮蔽,则与遮蔽Array或一样坏Number。
避免将设置为undefined。如果要从Object删除属性栏,请改为。foodeletefoo.bar;
存在检测标识foo对undefined可能抛出一个引用错误,使用typeoffoo针对"undefined"代替。
热门推荐
10 香港老妈结婚祝福语简短
11 毕业立体贺卡祝福语简短
12 简短新年年会祝福语
13 评论小品祝福语大全简短
14 恭喜师兄结婚祝福语简短
15 员工集体辞职祝福语简短
16 高中新生祝福语 简短
17 装修祝福语男生搞笑简短
18 生日开业蛋糕祝福语简短