搜尋

首頁  >  問答  >  主體

javascript 的console.log 問題

1、chrome調試下 console列印一個對象,對象沒展開時,顯示是個空對象,點擊展開後竟然發現裡面有值,這是什麼鬼?
2、圖一是沒展開的顯示是個空物件圖二是展開的裡面竟然有值

#
迷茫迷茫2733 天前737

全部回覆(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
  • 取消回覆