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

循环里的定时器如何保存当前循环的值

循环里的定时器如何保存当前循环的值

守着星空守着你 2019-05-24 15:44:07
varvalue=0while(value++console.log(value),100)}想要结果是1到100,请问怎么改写?谢谢小疑问:下面这种实现varvalue=0while(value++console.log(val))(value),100)}为什么会在最后的100之后打出一个大值呢?
查看完整描述

2 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

需要分配新的内存,不然每次console.log都是输出同一块内存,自然是同一个值。
varvalue=0;
while(value++<100){
(function(v){
setTimeout(()=>console.log(v),100);
})(value)
}
                            
查看完整回答
反对 回复 2019-05-24
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

letvalue=0;
while(value++<100){
letthisValue=value;
setTimeout(()=>console.log(thisValue),100);
}
                            
查看完整回答
反对 回复 2019-05-24
  • 2 回答
  • 0 关注
  • 604 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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