Javascript Object.Property 记录未定义

Javascript Object.Property logging undefined

printPerson 将一个对象作为参数,它的循环遍历它的所有属性,并应该将它们全部打印出来。

如您所见,我已经记录了 personproperty 变量,它们工作正常。 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