【譯】你不知道的Chrome除錯工具技巧 第五天:console的log中,讓人疑惑的案例
特別宣告
本文是作者 Tomek Sułkowski 釋出在 medium 上的一個系列。據作者透露一共有24篇,一直更新到12月24日
版權歸原作者所有。
前兩篇的翻譯連結我已經給到了作者本人,雖然他不理解中文,但是他還是很開心哈哈,截圖在最後
譯者在翻譯前已經和作者溝通得到了翻譯整個系列的許可。
為了不影響大家閱讀,獲得許可的記錄會放在本文的最後~
正文
在馬上就要迎來假期的這 24 天裡,我將會發布一系列短篇的文章,關於如何將開發工具使用得更加有意思,昨天我們完成了第15 個,今天我們只有一個tips,但會是相當驚喜的一個:
16. 打印出來的物件,並不是我們所期待的樣子
好傢伙,這個(打印出來的物件,並不是我們所期待的樣子)會讓你摔個跟頭,並且使基於console.log
你在console中打印出的物件,在你打印出他內容之前,都是以引用的方式儲存的。
這是什麼意思呢?例如:你(在程式碼中)列印了一個物件,然後(在程式碼中)修改了它,然後再將他打印出來 - 然後在console
中檢視,你就會看到第一條列印的記錄(在進行修改前的記錄) 和第二條列印的記錄的值是一樣的!
如果這樣描述你仍然不好理解,別擔心,在下面的視訊中看下這個流程,然後你就會變得清晰。
現在想象一下,如果在你想要弄清楚一個物件是在何時被修改的時候,發生了這樣的情況。
怎麼處理這樣的情況呢?你可以列印一個從這個物件複製出來的物件,或者...在正式的除錯中使用可以讓我們放心的斷點或者資源面板來替代,在後續的文章中,我們會繼續提到這個問題。
慣例: 如果你從這裡學到了一些新東西
→ 你可以點個贊再走嘛~
→ 關注我:Twitter:Tomek Sułkowski
其他系列
其他此係列的文章,馬上就會翻譯出來,到時會貼出對應的連結在此處。
- 【譯】你不知道的Chrome除錯工具技巧 第一天:console中的'$'
- 【譯】你不知道的Chrome除錯工具技巧 第二天:copying & saving
- 【譯】你不知道的Chrome除錯工具技巧 第三天:console methods
- 【譯】你不知道的Chrome除錯工具技巧 第四天:the Elements panel(元素面板)
- 【譯】你不知道的Chrome除錯工具技巧 第五天:console的log中,讓人疑惑的案例
寫在最後
如果你對我的翻譯表示肯定,也可以關注我一波哦~ 順便我的開源專案,求一波 star→ 看這裡, 美麗的部落格系統