1. 程式人生 > >【譯】你不知道的Chrome除錯工具技巧 第五天:console的log中,讓人疑惑的案例

【譯】你不知道的Chrome除錯工具技巧 第五天:console的log中,讓人疑惑的案例

特別宣告

本文是作者 Tomek Sułkowski 釋出在 medium 上的一個系列。據作者透露一共有24篇,一直更新到12月24日
版權歸原作者所有。

前兩篇的翻譯連結我已經給到了作者本人,雖然他不理解中文,但是他還是很開心哈哈,截圖在最後

譯者在翻譯前已經和作者溝通得到了翻譯整個系列的許可。
為了不影響大家閱讀,獲得許可的記錄會放在本文的最後~

正文

在馬上就要迎來假期的這 24 天裡,我將會發布一系列短篇的文章,關於如何將開發工具使用得更加有意思,昨天我們完成了第15 個,今天我們只有一個tips,但會是相當驚喜的一個:

16. 打印出來的物件,並不是我們所期待的樣子

好傢伙,這個(打印出來的物件,並不是我們所期待的樣子)會讓你摔個跟頭,並且使基於console.log

的除錯過程變得撲朔迷離,或者除錯失敗。

你在console中打印出的物件,在你打印出他內容之前,都是以引用的方式儲存的。

這是什麼意思呢?例如:你(在程式碼中)列印了一個物件,然後(在程式碼中)修改了它,然後再將他打印出來 - 然後在console中檢視,你就會看到第一條列印的記錄(在進行修改前的記錄) 和第二條列印的記錄的值是一樣的!

如果這樣描述你仍然不好理解,別擔心,在下面的視訊中看下這個流程,然後你就會變得清晰。

現在想象一下,如果在你想要弄清楚一個物件是在何時被修改的時候,發生了這樣的情況。

怎麼處理這樣的情況呢?你可以列印一個從這個物件複製出來的物件,或者...在正式的除錯中使用可以讓我們放心的斷點或者資源面板來替代,在後續的文章中,我們會繼續提到這個問題。

慣例: 如果你從這裡學到了一些新東西

→ 你可以點個贊再走嘛~
→ 關注我:Twitter:Tomek Sułkowski

其他系列

其他此係列的文章,馬上就會翻譯出來,到時會貼出對應的連結在此處。

寫在最後

如果你對我的翻譯表示肯定,也可以關注我一波哦~ 順便我的開源專案,求一波 star→ 看這裡, 美麗的部落格系統

許可記錄

關於這次翻譯,作者的回覆