我發現自己由於異步性而被絆倒了console.log()
。console.log的非易失性替代品
由此我的意思是傾向於不捕獲變量的值在特定的時間點。
它適用於簡單值,因爲賦值給具有立即值的變量會將變量綁定到全新的對象。
var x = 3;
console.log(x); //prints 3
x=4;
但是,當您開始使用受引用約束的對象時,事情會變得非常直觀。例如
var obj = {x: 3};
console.log(x); //prints 4!
obj.x = 4;
有一些其他的日誌記錄功能,我可以使用,將提供給我的對象在調用中的我的代碼條款時的狀態?我正在尋找的是或者同步的東西,或者至少看起來是從它產生的結果。
如果它能夠跨平臺工作,我會很高興,但是我很高興能夠獲得一個能夠在Chrome中工作的工具。
'console.log(JSON.stringify(x))'? –
如果'x'不是循環的,並且是可串行化的,那麼@Kyll說的很好。當它不是,你必須即興創作。在這些情況下,'console.log(x);調試器;'可以暫停代碼,以便在值更改之前檢查值。不幸的是,'temp = val; console.log(temp)'不起作用:它不是深層副本,所以如果你改變'val'的屬性,'temp'的屬性也會改變。 – Amadan
我從來不知道調試器! https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/debugger – LukeP