下面應該讓你明白:爲什麼在輸出之後修改console.log的chrome開發者工具輸出?
我把值設置爲1.然後在控制檯輸出它。這裏的輸出顯示1.在我將值設置爲2.相同的控制檯輸出顯示2.
我該如何避免這種情況?我嘗試調試一些瘋狂的狗屎,並且在輸出時必須知道對象的值。不是來自對象的最新值。
下面應該讓你明白:爲什麼在輸出之後修改console.log的chrome開發者工具輸出?
我把值設置爲1.然後在控制檯輸出它。這裏的輸出顯示1.在我將值設置爲2.相同的控制檯輸出顯示2.
我該如何避免這種情況?我嘗試調試一些瘋狂的狗屎,並且在輸出時必須知道對象的值。不是來自對象的最新值。
當您在控制檯記錄它時,它是對變量的引用,所以無論何時打印它,它都鏈接到您現在已更改的相同值。
您可以打印一個字符串,例如,看看是什麼在這一點上:
console.log("value: " + x);
這應該串聯x的值作爲一個字符串,因此它不會改變 (上從devRant移動所以無法測試)
console.log("value", x) ;
將引用x被存儲在何處的內存,所以它總是與可變
console.log(JSON.parse(JSON.stringify(object)))解決了這個問題。謝謝! – Buntel
控制檯輸出最後一個表達式的結果。
例如,如果寫1並按下確認鍵時,輸出1。
您的第一個表達式(這是一個分配)的結果是「測試」變量的值。
你的第二個表達式(這也是一個賦值)的結果是「test.value」,這是2
如果你想看到你的變量值的價值,只寫「測試「然後按回車。
我想在第二次賦值之前看到「test.value」,它應該是1.但是,當我將第二個賦值變爲2之前輸出的控制檯輸出賦值爲2時,控制檯說test.value爲2。但是當時它已經寫入test.value到控制檯,它的值爲1. – Buntel
更新不,我不明白你的問題,請ELABO您遇到的問題的速率 – Luca
[Google Chrome console.log()與對象和數組不一致的可能重複](https://stackoverflow.com/questions/24175017/google-chrome-console-log-inconsistency-with-對象和數組) – Xufox
也許你是對的@Xufox。我明天會評估它。 – Buntel