object.prop和object [“prop”]之间的区别

时间:2015-04-19 10:05:03

标签: javascript object properties

我曾经相信它们之间没有区别但是在看到这段代码之后,我在Javascript中有关对象的所有信息都失败了。

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

此代码有效。但

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

这不是。

感谢您的解释。

2 个答案:

答案 0 :(得分:7)

friends.xfriends[x]不同,它与friends['x']完全相同。

当您使用friends[x]时,值x可以是变量(或任何表达式),但是当您使用friends.x时,x是一个文字名称,它赢了不要使用变量x

答案 1 :(得分:0)

正如@Guffa已经解释的那样,friends.x and friends['x']是相同的,这些方法的不同之处在于当你使用[]这种语法时你可以使用变量,'property like this'或保留字,这很好当你不确切知道你需要的财产时。