Javascript Object.Property 记录未定义
Javascript Object.Property logging undefined
printPerson
将一个对象作为参数,它的循环遍历它的所有属性,并应该将它们全部打印出来。
如您所见,我已经记录了 person
和 property
变量,它们工作正常。 person
被识别为对象,property
被识别为具有正确 属性 名称的字符串,表明循环也工作正常。但是当涉及到日志 person.property
时,return 的值是 undefined
。
我错过了什么?
var bob = {
firstName: "Bob",
lastName: "Jones",
phoneNumber: "(650) 777-7777",
email: "bob.jones@example.com"
};
var mary = {
firstName: "Mary",
lastName: "Johnson",
phoneNumber: "(650) 888-8888",
email: "mary.johnson@example.com"
};
var contacts = [bob, mary];
function printPerson(person) {
for (property in person){
console.log(person);
console.log(property);
console.log(person.property);
}
}
function list(){
for (var i=0;i<contacts.length;i++){
printPerson(contacts[i]);
}
}
list();
使用变量作为键时需要使用括号表示法:
console.log(person[property]);
以下是相关文档:MDN on Objects Properties
printPerson
将一个对象作为参数,它的循环遍历它的所有属性,并应该将它们全部打印出来。
如您所见,我已经记录了 person
和 property
变量,它们工作正常。 person
被识别为对象,property
被识别为具有正确 属性 名称的字符串,表明循环也工作正常。但是当涉及到日志 person.property
时,return 的值是 undefined
。
我错过了什么?
var bob = {
firstName: "Bob",
lastName: "Jones",
phoneNumber: "(650) 777-7777",
email: "bob.jones@example.com"
};
var mary = {
firstName: "Mary",
lastName: "Johnson",
phoneNumber: "(650) 888-8888",
email: "mary.johnson@example.com"
};
var contacts = [bob, mary];
function printPerson(person) {
for (property in person){
console.log(person);
console.log(property);
console.log(person.property);
}
}
function list(){
for (var i=0;i<contacts.length;i++){
printPerson(contacts[i]);
}
}
list();
使用变量作为键时需要使用括号表示法:
console.log(person[property]);
以下是相关文档:MDN on Objects Properties