以下两个代码片段在javascript中是等价的吗?

Are the following 2 code snippets equivalent in javascript

本文关键字:javascript 片段 代码 两个      更新时间:2023-09-26
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;
             }
      }
};

这里friends是一个对象,firstName是其中一个键。

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

对于数组,它将是索引- 0,1,2,3…