为什么不调用未定义的属性跳转错误?

时间:2015-05-19 21:50:29

标签: javascript object properties

我想知道是否

var myVar = unDef;

触发ReferenceError,为什么

var myObj = {};
var myVar = myObj.unDef;

工作正常吗?它返回undefined而没有运行时错误。两者都没有定义。

1 个答案:

答案 0 :(得分:0)

这允许您使用

if (myVar.unDef)

而不是更冗长(而且更昂贵,因为它调用了一个函数):

if (myVar.hasOwnProperty('unDef'))