P粉0233267732023-08-28 15:10:01
console.log()
會傳遞物件的參考,因此控制台中的值會隨著物件的變更而變更。為了避免這種情況,您可以:
console.log(JSON.parse(JSON.stringify(c)))
P粉7953113212023-08-28 12:26:58
Pointy 的答案提供了很好的訊息,但這不是這個問題的正確答案。
OP 描述的行為是 2010 年 3 月首次報告的錯誤的一部分,並於 2012 年 8 月針對 Webkit 進行了修補,但截至撰寫本文時尚未整合到 Google Chrome 中。行為取決於將物件文字傳遞給 console.log()
時控制台偵錯視窗是開啟還是關閉 .
原始錯誤回報摘錄 (https://bugs.webkit.org/show_bug .cgi?id=35801):
Chromium 開發人員的回應:
隨之而來的是許多抱怨,最終導致了錯誤修復。
2012 年 8 月實施的補丁的變更日誌說明 (http://trac.webkit.org/changeset/ 125174):