DIEA
console.log 输出调用此语句时参数的快照,展开(即 console.dir)时输出的是参数在内存中最新的状态。var b = {a: 0};[1, 2, 3].forEach(i => [b.a = i, console.log(b), console.dir(b)])// {a: 1} 展开后为 {a: 3}// Object 展开后为 {a: 3}// {a: 2} 展开后为 {a: 3}// Object 展开后为 {a: 3}// {a: 3} 展开后为 {a: 3}// Object 展开后为 {a: 3}如果发现有快照与内存最新状态不匹配的情况,那就是在快照之后发生了修改操作。