首頁  >  問答  >  主體

如何在console.log中顯示物件的目前狀態?

<p>在沒有任何附加元件的Safari瀏覽器(實際上大多數其他瀏覽器也是如此),<code>console.log</code>會顯示物件在執行的最後狀態,而不是<code> ;console.log</code>被呼叫時的狀態。 </p> <p>我必須複製物件才能透過<code>console.log</code>輸出它,以取得該行程式碼中物件的狀態。 </p> <p><strong>範例:</strong></p> <pre class="brush:php;toolbar:false;">var test = {a: true} console.log(test); // {a: false} test.a = false; console.log(test); // {a: false}</pre> <p><br /></p>
P粉868586032P粉868586032425 天前503

全部回覆(2)我來回復

  • P粉473363527

    P粉4733635272023-08-23 12:27:07

    如果我想查看它在記錄時的狀態,我通常會將其轉換為JSON字串。

    console.log(JSON.stringify(a));

    回覆
    0
  • P粉464113078

    P粉4641130782023-08-23 11:29:35

    我認為你正在尋找console.dir()

    console.log()不能實作你想要的功能,因為它印製的是物件的引用,而當你開啟它時,它已經改變了。 console.dir在呼叫時會列印物件的屬性目錄。

    下面的JSON想法是個好主意;你甚至可以繼續解析JSON字串並獲得一個可瀏覽的對象,就像.dir()會給你的那樣:

    console.log(JSON.parse(JSON.stringify(obj)));

    回覆
    0
  • 取消回覆