我正在检查是否(响应[0]。title !== undefined),但我得到的错误:
无法读取未定义的属性“title”。
我正在检查是否(响应[0]。title !== undefined),但我得到的错误:
无法读取未定义的属性“title”。
当前回答
检查响应[0]是否实际存在,错误似乎表明它不存在。
其他回答
实际上,你必须用一个Try/Catch块来包围它,这样你的代码就不会停止工作。 是这样的:
try{
if(typeof response[0].title !== 'undefined') {
doSomething();
}
}catch(e){
console.log('responde[0].title is undefined');
}
我知道我迟到了7个月,但我发现了这个问题,它看起来很有趣。我在浏览器控制台上尝试了这个方法。
try{x,true}catch(e){false}
如果变量x未定义,则捕获错误并返回false,否则返回true。因此,可以使用eval函数将值设置为变量
var isxdefined = eval('try{x,true}catch(e){false}')
响应[0]没有定义,检查是否定义了它,然后检查它的属性标题。
if(typeof response[0] !== 'undefined' && typeof response[0].title !== 'undefined'){
//Do something
}
这是因为响应[0]本身没有定义。
检查条件== null; 这将解决问题