Chrome 的JavaScript 控制台:惰性物件求值之謎
在調試工具領域,JavaScript 控制台是一項無價的資產。然而,使用者在記錄物件時遇到了 Chrome 和 Firefox 之間的不一致問題。
問題
考慮以下程式碼:
在Firefox 中,控制台精確地將陣列記錄為:
但是,Chrome 的JavaScript控制台(版本7.0.517.41 beta)莫名其妙地將這兩個語句記錄為:
Bug 還是惰性評估?
問題出現了,這是一個 bug 還是一個錯誤? Chrome 控制台的特殊性?
調查Bug
經過搜索,發現了一個現有的未經確認的Webkit Bug (https://bugs.webkit.org/show_bug.cgi? id=35801),它解釋了這個確切的問題。
討論嚴重性
錯誤的嚴重性取決於 辯論。有些人認為它構成了一個真正的錯誤,而有些人則認為它在可容忍的範圍內。
避免該問題
儘管有爭議,但有一個簡單的解決方案在程式碼中避免這種行為:
透過將物件轉換為字串表示形式(透過toString),您可以有效地建立不受後續修改影響的靜態圖像。然後控制台將輸出此快照:
以上是為什麼 Chrome 的 JavaScript 控制台顯示的物件值與 Firefox 不一致?的詳細內容。更多資訊請關注PHP中文網其他相關文章!