在函数中调用对象成员

时间:2015-07-16 15:14:23

标签: javascript arrays object

我有两个bob和mary对象,我想在一个函数中使用数组调用它们的firstName和lastName值,但这段代码似乎无法正常工作

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];


var printPerson = function(person) {
    console.log(this.firstName + " " + this.lastName);
}

printPerson(contacts[0]);
printPerson(contacts[1]);

我缺少什么?

2 个答案:

答案 0 :(得分:2)

在您的函数this中引用window对象。

使用传递给函数的对象作为参数。

使用person.firstNameperson.lastName从相应的对象中获取名称。

var printPerson = function(person) {
    console.log(person.firstName + " " + person.lastName);
    //          ^^^^^^                   ^^^^^^
}

答案 1 :(得分:1)

您需要从person参数访问firstName和lastName属性。所以,你的代码必须是:

var printPerson = function(person){
    console.log(**person**.firstName + " " + **person**.lastName);   
}