无法读取null的属性“name”

时间:2013-10-10 18:14:47

标签: javascript jquery

所以我的问题是有时候data.content[i].location.name会返回null

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
   });
}

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

使用.hasOwnProperty测试属性以防止出现错误

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
 });
}

答案 1 :(得分:3)

在执行推送之前,先检查一下(data.content [i] .location.name!= null)

如果你想在它为null的情况下发生特殊事情,你可以在其他地方做到这一点。

或者正如您所指出的,有时位置为空,所以检查方式也一样。