Console.log() 在Chrome 中記錄物件和陣列時出現不一致
在Google Chrome 中,使用console.log( 時會出現意外行為) 來記錄巢狀陣列或物件。如果在記錄後修改陣列或物件的最裡面的值,console.log() 將顯示修改後的值,而不是記錄時的原始值。
重現步驟
重現問題:
這種不一致也會影響儲存在變數(testb、testc)中的對象和數組。
潛在問題
經過廣泛研究,這是發現此問題之前被報告為WebKit 中的錯誤(https://bugs.webkit.org/show_bug. cgi?id=35801)。 Chromium 開發人員承認了這個問題,但表示由於技術限制,不太可能修復。
修復和不一致
但是,2012 年在 WebKit 中實現了修復。儘管如此,谷歌瀏覽器尚未採用該修復程序。因此,console.log() 的行為會根據日誌記錄時控制台視窗是否開啟而有所不同。
結論
Google Chrome 的 console.log() 功能中的此錯誤仍然存在並影響偵錯工作。建議注意這種不一致並考慮替代調試方法,直到問題在 Chrome 中解決。
以上是為什麼 Console.log() 在 Chrome 中顯示修改後的值而不是原始值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!