【发布时间】:2015-11-19 19:07:26
【问题描述】:
Codecademy 代码
我已经在 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");
这个输出:
账单
史蒂夫
{ firstName: '史蒂夫',
姓氏:'工作',
号码:'(408) 555-5555',
地址:['1 无限循环','Cupertino','CA','95014'] }
{"firstName":"史蒂夫",
"姓氏":"职位",
"号码":"(408) 555-5555",
"address":["1 >无限循环","Cupertino","CA","95014"]}
然后我稍微更改了列表和搜索功能,以便正确输出 chrome:
var list = function(obj) {
for(var prop in obj) {
document.write(prop + "<br>");
}
};
var search = function(name) {
for(var prop in friends) {
if(friends[prop].firstName === name) {
document.write(friends[prop]);
return friends[prop];
}
}
};
这返回了输出:
账单
史蒂夫
[对象对象]
问题:
这个[object Object] 输出来自哪里?
如何从搜索功能返回正确的输出?
注意:
列表功能正常,但搜索功能出现问题。 for 循环中的friends[prop].firstName 没有返回任何内容。
提前感谢您的帮助
【问题讨论】: