JS输出 - console.log vs innerHTML

时间:2016-03-26 18:55:45

标签: javascript

我使用Free JS Editor编写了以下代码。但是预览浏览器中的内容中没有打印任何内容。 我从codecademy得到了这个练习,并且在使用console.log(在他们的网站上)时,它打印出了名字和姓氏(就像它应该,,,我认为) 我在桌面软件上打印的错误是什么? 你们还建议一个免费的JS编辑器用于某些培训目的吗?

    <body>
    <p id="text"></p>
    <script>
     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){
     document.getElementById("text").innerHTML=(person.firstName + " " +person.lastName);
     };

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





    </script>
    </body>

1 个答案:

答案 0 :(得分:2)

list是一个功能。要调用该函数(使其运行),您需要使用括号,即使它没有任何参数。

list;更改为list();

编辑:

每次调用函数时,您还会覆盖p标记中的先前内容。所以你没有列出名字,你正在写一个名字然后用每个循环替换名称。我在JSFiddle中修复了它。

请参阅JSFiddle