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

为什么这段代码在浏览器和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 关注
  • 698 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号