javascript 的console.log 問(wèn)題
問(wèn)題描述
1、chrome調(diào)試下 console打印一個(gè)對(duì)象,對(duì)像沒(méi)展開(kāi)時(shí),顯示是個(gè)空對(duì)象,點(diǎn)擊展開(kāi)后竟然發(fā)現(xiàn)里面有值,這是什么鬼?2、圖一是沒(méi)展開(kāi)的顯示是個(gè)空對(duì)象,圖二是展開(kāi)的里面竟然有值。
問(wèn)題解答
回答1:你先打印了那個(gè)空對(duì)象,你打印后到你點(diǎn)開(kāi)這段時(shí)間里,ajax異步填充了這個(gè)對(duì)象,所以點(diǎn)出來(lái)才會(huì)有值,這是個(gè)異步操作,你不能提前使用這個(gè)空對(duì)象。
回答2:不打開(kāi)控制臺(tái)的情況下, console.log就是這樣的
回答3:console.log打印一個(gè)對(duì)象時(shí)。如果是一個(gè)對(duì)象,他就指向一片內(nèi)存。這片內(nèi)存一開(kāi)始為空,后來(lái)ajax拿來(lái)數(shù)據(jù),填充了之后。就不為空了。console.log你可以認(rèn)為它是響應(yīng)式的
回答4:由于顯示在控制臺(tái)中的數(shù)據(jù)不會(huì)實(shí)時(shí)更新,所以上面只是打印出來(lái)的日志。
當(dāng)你一開(kāi)始打印Object時(shí),它的確是空對(duì)象。但是后來(lái),AJAX返回的數(shù)據(jù)填充了這個(gè)對(duì)象。而你展開(kāi)的時(shí)候,由于上面展開(kāi)顯示是從內(nèi)存里讀取的數(shù)據(jù),所以你點(diǎn)開(kāi)的時(shí)候是有值的。
不過(guò)由于上面的日志輸出后無(wú)法回撤或者更新,所以上面打印出來(lái)的Object{}還保留著。
相關(guān)文章:
1. javascript - 微信jssdk 注入配置 提示 config:invalid signature2. android - 目前有哪些用Vue.js開(kāi)發(fā)移動(dòng)App的方案?3. gosts內(nèi)容是空的4. javascript - 微信 H5 授權(quán) 返回鍵5. javascript - 小白求解,請(qǐng)問(wèn)這個(gè)dom對(duì)象的為什么能用jquery方法?6. android - 在微信瀏覽器中可以在線(xiàn)預(yù)覽pdf嗎?7. python - 爬取微信公眾號(hào)文章需要輸入驗(yàn)證碼問(wèn)題8. javascript - vue組件中使用百度分享初次加載失敗?9. android - 怎樣才能在連接本地WIFI是通過(guò) 3G/4G 實(shí)現(xiàn)微信分享?10. 關(guān)于A(yíng)pache無(wú)法啟動(dòng)的程序的方式是怎么解決的
