Javascript Object.Property记录未定义

时间:2016-06-06 19:38:11

标签: javascript object undefined

printPerson将一个对象作为一个参数,它的循环通过它的所有属性进行迭代,并且可以将它们全部打印出来。

正如您所看到的,我已经记录了personproperty变量并且它们正常工作。 person被标识为对象,property被标识为具有正确属性名称的字符串,表示循环也正常工作。但是,在记录person.property时,返回值为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();

1 个答案:

答案 0 :(得分:3)

将变量用作键时,需要使用括号表示法:

console.log(person[property]);

以下是相关文档:MDN on Objects Properties