以下2个代码片段在javascript中是等效的吗?

时间:2014-06-11 09:01:35

标签: javascript

var search = function(name) {
  for(var prop in friends) {
    if(friends[prop].firstName === name) {
      console.log(friends[prop]);
      return friends[prop];
    }
  }
};

代码段2:

var search = function(name){
    for(var prop in friends)
      {
         if(prop.firstName === name)
             {
                console.log(prop);
                return prop;
             }
      }
};

这里的朋友是一个对象,firstName是其中一个键。

1 个答案:

答案 0 :(得分:0)

不,它们不相同 - 对于friends,第二个prop中的对象是属性名称,在第一个示例中,迭代friends[prop]返回值friends对象的属性。

对于数组,它将是索引 - 第二个为0,1,2,3 ...,第一个为值。