0
typeof(nonexistingobj)

返回“未定义”但

typeof(nonexistingobj.nonexistentproperty) 

不会像我预期的那样生成“未定义”,而是称为参考错误- 我如何检测到这一点?

我正在尝试对 API 的响应进行子属性检测。(具体来说,API 返回一个子对象data.paging.next,当有另一页 API 结果要获取时调用,但如果它只返回最后一页,则没有“下一个”子对象)。

4

2 回答 2

3

不要尝试访问undefined. 测试是否首先定义了您尝试访问的变量。

if (typeof obj !== "undefined") {
    typeof obj.nonexistentproperty;
} 
于 2013-06-23T16:49:08.860 回答
0

要捕获错误,您可以使用 try/catch:

try {
     console.log(typeof nonexistingobj.nonexistentproperty);
} catch (error) {
     console.log('Message error: ' + error.message);
}
于 2013-06-23T16:56:13.473 回答