Javascript 无法读取属性';名称';空的
所以我的问题是,有时Javascript 无法读取属性';名称';空的,javascript,jquery,Javascript,Jquery,所以我的问题是,有时data.content[i].location.name返回一个错误,表示无法读取null的属性“name” for ( var i = 0; i < len; i++ ) { classes.push({ "id":data.post[i].id, "location":data.content[i].location.name, "type":data.content[i].type }); } for(变
data.content[i].location.name
返回一个错误,表示无法读取null的属性“name”
for ( var i = 0; i < len; i++ ) {
classes.push({
"id":data.post[i].id,
"location":data.content[i].location.name,
"type":data.content[i].type
});
}
for(变量i=0;i
如何解决此问题?我需要data.content[I].location.name(如果不为空)。只要检查一下data.content[I].location.name!=执行推送之前,为空 如果您希望在
null
的情况下发生特殊情况,您可以在else
中执行此操作
或者,正如您所指出的,有时
位置
为空
,因此也要以同样的方式检查。测试使用的属性,以防止出现错误
for ( var i = 0; i < len; i++ ) {
classes.push({
"id":data.post[i].id,
"location": data.content[i].location.hasOwnProperty("name") ? data.content[i].location.name : "",
"type":data.content[i].type
});
}
for(变量i=0;i
在这些情况下,名称
或位置
是否为空?您所说的“修复”是什么意思?修复它可以防止对象为空,也可以意味着在尝试访问名称属性之前检查对象是否存在您是否将该信息传递给“数据”?返回一个Uncaught类型错误:无法调用null的方法'hasOwnProperty'
error:/n然后对content[i]
上的location
执行相同的测试<代码>位置为null:SRight,如果仔细阅读该错误消息,一切都有意义:p它是说null
没有hasOwnProperty
方法。是的,明白了!-谢谢你的提示!