为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

紫衣仙女 2018-09-03 13:25:03
代码: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 } ]//单次运行输出的数值总是不变,但是多次运行输出的数值是不一样的
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 694 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信