我的JavaScript代码有什么问题

时间:2014-03-15 21:37:59

标签: javascript

以下是我正在做的练习:http://www.codecademy.com/courses/building-an-address-book/0/3?curriculum_id=506324b3a7dffd00020bf661#

Here is my code:

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

// printPerson added here
function printPerson(person){
    console.log(firstName);
    console.log(lastName);
};

function printPerson(){
        console.log(contacts[0]);
}
function printPerson(){
        console.log(contacts[1]);
}

4 个答案:

答案 0 :(得分:2)

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

// printPerson added here
function printPerson(person){
    console.log(person.firstName + " "+ person.lastName);   
}

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

答案 1 :(得分:1)

您想要为代码的最后两部分执行printPerson而不是重新创建函数

function printPerson(person){
    console.log(person.firstName);
    console.log(person.lastName);
};

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

答案 2 :(得分:0)

一个大问题是你定义了3次相同名称的函数,从不调用它们。你可以尝试做这样的事情:

// printPerson added here
function printPerson(person){
    console.log(firstName);
    console.log(lastName);
}
printPerson(contacts[0]);
printPerson(contacts[1]);

我还在第一个函数声明后删除了分号。

我相信你试图打电话给他们而不是再次定义这个功能。

此外,您正在尝试在函数中使用从未实际定义过的变量。

答案 3 :(得分:0)

你写过的地方

function printPerson(){
        console.log(contacts[0]);
    }
function printPerson(){
        console.log(contacts[1]);
    }

你应该写

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

否则你只是重新定义函数而不是调用它们。