。
我有一个带有3个参数的函数。我遇到的问题是参数之一是对象的某个时值未定义的属性(即,它接收了 Thing.foo.bar ,而有时候Thing.foo 是未定义的,因此它无法访问 bar )。
有什么办法解决这个问题?在函数的声明中,我有一个条件检查:if(!parameterName),但是浏览器(Chrome)仍然抛出错误,无法读取undefined 的 bar 属性。
if(!parameterName)
如果一个对象的属性可以参考一些其他的对象,那么你可以测试 是 未定义试图利用它的属性之前:
if (thing && thing.foo) alert(thing.foo.bar);
如果您显示一些实际代码,但可能会出现以下情况,我可以更新我的答案以更好地反映您的情况:
function someFunc(parameterName) { if (parameterName && parameterName.foo) alert(parameterName.foo.bar); }