搜索

首页  >  问答  >  正文

javascript 的console.log 问题

1、chrome调试下 console打印一个对象,对像没展开时,显示是个空对象,点击展开后竟然发现里面有值,这是什么鬼?
2、图一是没展开的显示是个空对象图二是展开的里面竟然有值

迷茫迷茫2765 天前746

全部回复(4)我来回复

  • 三叔

    三叔2017-06-30 10:00:12

    你先打印了那个空对象,你打印后到你点开这段时间里,ajax异步填充了这个对象,所以点出来才会有值,这是个异步操作,你不能提前使用这个空对象。

    回复
    0
  • 我想大声告诉你

    我想大声告诉你2017-06-30 10:00:12

    不打开控制台的情况下, console.log就是这样的

    回复
    0
  • 阿神

    阿神2017-06-30 10:00:12

    console.log打印一个对象时。如果是一个对象,他就指向一片内存。这片内存一开始为空,后来ajax拿来数据,填充了之后。就不为空了。console.log你可以认为它是响应式的

    回复
    0
  • 黄舟

    黄舟2017-06-30 10:00:12

    由于显示在控制台中的数据不会实时更新,所以上面只是打印出来的日志。

    当你一开始打印Object时,它的确是空对象。
    但是后来,AJAX返回的数据填充了这个对象。
    而你展开的时候,由于上面展开显示是从内存里读取的数据,所以你点开的时候是有值的。

    不过由于上面的日志输出后无法回撤或者更新,所以上面打印出来的Object{}还保留着。

    回复
    0
  • 取消回复