在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ object展開(kāi)后不一致,拿不到展開(kāi)后的值

object展開(kāi)后不一致,拿不到展開(kāi)后的值

圖片描述

回答
編輯回答
負(fù)我心

console.log 輸出調(diào)用此語(yǔ)句時(shí)參數(shù)的快照,展開(kāi)(即 console.dir)時(shí)輸出的是參數(shù)在內(nèi)存中最新的狀態(tài)。

var b = {a: 0};
[1, 2, 3].forEach(i => [b.a = i, console.log(b), console.dir(b)])

// {a: 1} 展開(kāi)后為 {a: 3}
// Object 展開(kāi)后為 {a: 3}
// {a: 2} 展開(kāi)后為 {a: 3}
// Object 展開(kāi)后為 {a: 3}
// {a: 3} 展開(kāi)后為 {a: 3}
// Object 展開(kāi)后為 {a: 3}

如果發(fā)現(xiàn)有快照與內(nèi)存最新?tīng)顟B(tài)不匹配的情況,那就是在快照之后發(fā)生了修改操作。

2017年4月11日 10:16
編輯回答
夏木

之所以不一致,是因?yàn)槟愕馁x值是在 輸出(賦值前) 到 展開(kāi)(賦值后) 的這個(gè)時(shí)間段里。
也就是說(shuō),你輸出的時(shí)候amout還是null,然后你才給它賦值為1

2017年8月30日 16:50
編輯回答
淺淺

log之后,該字段被修改了

和這個(gè)類似

const obj = {
    name: 1
};

//log
console.log(obj);
obj.name = 2;
2017年3月30日 22:49