摘要:前端開發中console是經常使用的調試工具,但某次開發中發現打印的值(對象)和我實際請求的值不相符(所打印對象的屬性展開前後是不一樣的),不知道朋友們有沒有遇到過相同的問題。後來想想也很好理解,調試工具也是渲染出來的,打印的log是一個對象,沒有展開時打印的是原始值,在展開查看詳細屬性值時,頁面會重新渲染,就會從內存中取出當前值,如果之前這個值被修改了,那麼現在就會打印修改後的值,所以打印對象的值展開和隱藏是不同的。

javascript console 打印對象和實際不等

因爲主要做Android開發,最近接觸hybrid開發,遇到一些問題,在此記錄一下。

前端開發中console是經常使用的調試工具,但某次開發中發現打印的值(對象)和我實際請求的值不相符(所打印對象的屬性展開前後是不一樣的),不知道朋友們有沒有遇到過相同的問題。當時還很奇怪,爲什麼會這樣呢!

javascript console 打印對象和實際不等

後來想想也很好理解,調試工具也是渲染出來的,打印的log是一個對象,沒有展開時打印的是原始值,在展開查看詳細屬性值時,頁面會重新渲染,就會從內存中取出當前值,如果之前這個值被修改了,那麼現在就會打印修改後的值,所以打印對象的值展開和隱藏是不同的。

javascript console 打印對象和實際不等

瀏覽器調試工具的控制檯和Android studio的控制檯是不同的,瀏覽器的控制檯其實和自己開發的程序是運行在相同的環境下的,也就是有相同的上下文。所以我們才能在控制檯打印對象,動態修改對象的值。如果在控制檯想要看初始值可以把對象轉換成json串以後打印出來。

javascript console 打印對象和實際不等

向初學的朋友們推薦一本書,需要的電子版的可以給我留言!javascript console 打印對象和實際不等

javascript console 打印對象和實際不等

馬上兒童接了,也送小朋友一個禮物。javascript console 打印對象和實際不等

javascript console 打印對象和實際不等

相關文章