为什么这段代码在浏览器和node环境下运行的结果不一样?

代码:

var arr = [{    flag: 0}];var timer = null;function foo() {
    arr[0].flag += 0.125;    console.log(arr);
    timer = setTimeout(foo, 500);
}
setTimeout(foo, 200);

node下的运行结果:

[ { flag: 0.125 } ]
[ { flag: 0.25 } ]
[ { flag: 0.375 } ]
[ { flag: 0.5 } ]
[ { flag: 0.625 } ]
[ { flag: 0.75 } ]
[ { flag: 0.875 } ]
[ { flag: 1 } ]

Chrome控制台上的运行结果:

[ { flag: 0.75 } ]
[ { flag: 0.75 } ]
[ { flag: 0.75 } ]
[ { flag: 0.75 } ]//单次运行输出的数值总是不变,但是多次运行输出的数值是不一样的


紫衣仙女
浏览 696回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript