鍍金池/ 問答/HTML/ console.log輸出數(shù)組的話,值都是當(dāng)前值而不是運(yùn)行時(shí)的值?

console.log輸出數(shù)組的話,值都是當(dāng)前值而不是運(yùn)行時(shí)的值?

clipboard.png

運(yùn)行到console.log那行代碼的時(shí)候數(shù)組長(zhǎng)度是1, 但是當(dāng)我打開控制臺(tái),點(diǎn)擊“向下箭頭”展開的時(shí)候, 內(nèi)容變成了最終的值(數(shù)組長(zhǎng)度為2), 這是為什么, 印象里之前不是?。ㄒ膊惶_定), 最近更新了谷歌65。

請(qǐng)問如何設(shè)置讓默認(rèn)顯示的是運(yùn)行時(shí)的值。

回答
編輯回答
乖乖噠

1.console.log(對(duì)象) 打印出來的是它的引用,所以當(dāng)你點(diǎn)開的時(shí)候是它當(dāng)前的值
2.數(shù)組是一個(gè)對(duì)象

2017年6月12日 08:30
編輯回答
絯孑氣

應(yīng)該一直都是,幾年前就這樣了。

  1. console.log后打斷點(diǎn)。
  2. 能轉(zhuǎn)JSON的可以JSON.parse(JSON.stringify(obj))再輸出。
2017年2月5日 00:17
編輯回答
熊出沒

搬個(gè)磚
console.log是同步還是異步?眼見不一定為實(shí) - CNode技術(shù)社區(qū)

其實(shí)在 console.log 執(zhí)行的時(shí)候,chrome 會(huì)對(duì) log 的對(duì)象求一次值,打印出來是 Object ,可以繼續(xù)展開的。但當(dāng)你展開控制臺(tái)中的 Object 的時(shí)候,chrome 又會(huì)對(duì)它求一次值,這一次是顯示它的屬性。所以才會(huì)有前后打印的東西不一樣的情況發(fā)生,因?yàn)閷?duì)象引用的實(shí)體的值改變了。
如果把 console.log(a) 改為 console.log(JSON.stringify(a)), 這時(shí)就會(huì)輸出
{"b":{"c":1}}
是剛開始期望的結(jié)果。
2018年7月22日 09:24