Javascript 处理未定义的属性
我有一个对象,它返回的属性要么是Javascript 处理未定义的属性,javascript,undefined,Javascript,Undefined,我有一个对象,它返回的属性要么是定义的,要么是未定义的 我希望处理这些未定义的属性,但我一直得到一个未定义的错误。以下两段代码是我迄今为止尝试过的: if (typeof choice.Location == "undefined") { } 及 编辑: 澄清一下,如果我这样做 if (typeof choice == "undefined") { } else if (choice.Location) { //do something } 我得到了相同的错误。您可以同时检查对象和它的属性
定义的
,要么是未定义的
我希望处理这些未定义的属性,但我一直得到一个未定义的错误。以下两段代码是我迄今为止尝试过的:
if (typeof choice.Location == "undefined") {
}
及
编辑:
澄清一下,如果我这样做
if (typeof choice == "undefined") {
}
else if (choice.Location) {
//do something
}
我得到了相同的错误。您可以同时检查对象和它的属性
下面这样简单的方法就可以做到:
if (typeof choice !== 'undefined' && choice.location) { ... }
如果您遇到错误,可能是选择
本身是未定义的
。错误到底说明了什么?那么选择必须是未定义的。请在开发人员工具中检查它,以便您尝试获取未定义的内容的属性位置
。更好的是,如果(choice&&choice.Location)此时,选择
是问题所在,您可以这样检查。你没有发布足够的代码,任何人都看不出真正的原因。这对我不起作用。它给了我同样的错误。@sacora如果您需要帮助,请阅读如何创建一个。您必须发布一些我们可以运行的代码,以便我们能够实际看到问题,因为您得到的答案是正确的,所以您的问题一定是错误的。在我们重现问题之前,您没有提出有效的问题。请不要回复此评论。我同意阿彻的观点,但我已经更新了我的答案,加入了一种比较方式。我不确定你到底想做什么,但这个解决方案应该适用于大多数情况。如果我更新的答案对你有效,你介意接受吗?
if (typeof choice !== 'undefined' && choice.location) { ... }