我的JavaScript代码正常运行,但我有错误。

时间:2014-03-15 22:25:52

标签: javascript

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

你可以看到链接中的所有要求,但基本上我希望我打印联系人的信息,例如我们有鲍勃和玛丽

我使用的代码工作,但它出现了这个错误“哎呀,再试一次。看起来你的列表功能没有console.log”鲍勃琼斯“。你有没有记得调用list();创建它之后? “

关于Bob的信息打印出来(你可以尝试代码),我仍然有错误

这是我的代码:

    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) {
    console.log(person.firstName + " " + person.lastName);
}

function list(){
        var contactsLength = contacts;
        for(var i; i<contacts.length ; i++){
                printPerson(i);
            }
    }

    console.log(contacts);

2 个答案:

答案 0 :(得分:1)

嗯。

 printPerson(i); 

更改为

 printPerson(contacts[i]);

同样在你的for循环中

var i;

更改为

var i = 0;

最后,谁在调用你的列表函数?

答案 1 :(得分:1)

你没有正确初始化数组的长度

var contactsLength = contacts;

应该是

var contactsLength = contacts.length;

printPerson(i);

应该是

printPerson(contacts[i]);

我是一个整数变量。在contacts[x]中使用它将获得数组contacts中索引的对象。

它会将数组大小传递给可在循环中使用的contactsLength字段。 但是要运行代码,必须在加载时调用list() - 函数。

 window.addEventListener('load', function () {
    list();
 });