小编典典

JavaScript“无法读取未定义的属性” bar”

javascript

我有一个带有3个参数的函数。我遇到的问题是参数之一是对象的某个时值未定义的属性(即,它接收了 Thing.foo.bar ,而有时候Thing.foo 是未定义的,因此它无法访问 bar )。

有什么办法解决这个问题?在函数的声明中,我有一个条件检查:if(!parameterName),但是浏览器(Chrome)仍然抛出错误,无法读取undefined 的 bar 属性。


阅读 387

收藏
2020-05-01

共1个答案

小编典典

如果一个对象的属性可以参考一些其他的对象,那么你可以测试 未定义试图利用它的属性之前:

if (thing && thing.foo)
   alert(thing.foo.bar);

如果您显示一些实际代码,但可能会出现以下情况,我可以更新我的答案以更好地反映您的情况:

function someFunc(parameterName) {
   if (parameterName && parameterName.foo)
       alert(parameterName.foo.bar);
}
2020-05-01