我正在通过 CodeCademy 学习 JavaScript,并且在“联系人列表”项目中;具体来说,“寻找朋友”课程。它让我了解对象是如何工作的以及如何在其中查看。
演示代码如下:
var friends = {};
friends.bill = {
firstName: "Bill",
lastName: "Gates",
number: "(206) 555-5555",
address: ['One Microsoft Way','Redmond','WA','98052']
};
friends.steve = {
firstName: "Steve",
lastName: "Jobs",
number: "(408) 555-5555",
address: ['1 Infinite Loop','Cupertino','CA','95014']
};
var list = function(obj) {
for(var prop in obj) {
console.log(prop);
}
};
var search = function(name) {
for(var prop in friends) {
if(friends[prop].firstName === name) {
console.log(friends[prop]);
return friends[prop];
}
}
};
list(friends);
search("Steve");
所以我知道这friends
是一个对象,bill
并且steve
是friends
. 我不明白的是内部的外观list
和search
功能friends
。我看到它使用了for/in
循环......但是在学习循环之后,我看不到任何条件,也看不到迭代机制。我不知道这for/in
实际上是如何工作的。也许如果有人可以提供等效语法的替代方案;也许,甚至,如果有人可以用口语解释为什么/如何 for/in
工作?
谢谢!
注意:标记为与语言无关,因为这是一个更高级别的编程/概念问题,即使这里的语法是 JavaScript。