使用JavaScript对象的console.log的奇怪行为

时间:2017-06-05 06:16:39

标签: javascript jquery html

当我使用HTML为每个循环打印对象时,我只获得了对象的一半内容,但是当我使用console.log打印并按下那个小三角形时,我得到了完整的对象和<当我悬停时,该对象附近会显示strong> i ,表示刚刚评估了值,如下图所示, enter image description here

当我在HTML中打印相同的对象时,它看起来像这样,

7.33--Some Name
7.08--Some Name
7.83--Some Name

实际上,object总共包含5个元素,如上图所示, 打印对象HTML的代码,

for (var key in obj){
    $("p").append(key+"--"+obj[key][0]+"<br>");
}

1 个答案:

答案 0 :(得分:10)

通过console.log检查对象以asynchronous方式进行。

对象的引用同步传递给控制台,但它不会显示属性直到扩展。如果在控制台中检查对象之前修改了对象,则显示的数据将具有更新的值。 Chrome控制台在一个框中显示一点i,其中表示刚刚评估了下面的值

为了在控制台中完全打印对象,您可以像

一样进行字符串化和记录
console.log(JSON.stringify(obj));