84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
在沒有任何附加元件的Safari瀏覽器(實際上大多數其他瀏覽器也是如此),console.log會顯示物件在執行的最後狀態,而不是 ;console.log被呼叫時的狀態。
console.log
;console.log
我必須複製物件才能透過console.log輸出它,以取得該行程式碼中物件的狀態。
範例:
var test = {a: true} console.log(test); // {a: false} test.a = false; console.log(test); // {a: false}
如果我想查看它在記錄時的狀態,我通常會將其轉換為JSON字串。
console.log(JSON.stringify(a));
我認為你正在尋找console.dir()。
console.dir()
console.log()不能實作你想要的功能,因為它印製的是物件的引用,而當你開啟它時,它已經改變了。console.dir在呼叫時會列印物件的屬性目錄。
console.log()
console.dir
下面的JSON想法是個好主意;你甚至可以繼續解析JSON字串並獲得一個可瀏覽的對象,就像.dir()會給你的那樣:
console.log(JSON.parse(JSON.stringify(obj)));
如果我想查看它在記錄時的狀態,我通常會將其轉換為JSON字串。
我認為你正在尋找
console.dir()
。console.log()
不能實作你想要的功能,因為它印製的是物件的引用,而當你開啟它時,它已經改變了。console.dir
在呼叫時會列印物件的屬性目錄。下面的JSON想法是個好主意;你甚至可以繼續解析JSON字串並獲得一個可瀏覽的對象,就像.dir()會給你的那樣:
console.log(JSON.parse(JSON.stringify(obj)));