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

请教一个关于js的问题

请教一个关于js的问题

kumayato 2017-03-02 11:20:01
<script type="text/javascript">     var demo=[];     for(var i=0;i<3;i++){         demo[i] = function() {             console.log(i)         }     }     demo[0]();     demo[1]();     demo[2](); </script>为什么最后返回的是三个3求解谢谢!
查看完整描述

1 回答

已采纳
?
Caballarii

TA贡献1123条经验 获得超629个赞

因为赋值的过程和执行的过程是分开的,demo[0]()实际会替换成function(){console.log(i)}执行,这时候去找i的值,已经是循环执行完以后的值了,就是3,后面两个也一样

查看完整回答
反对 回复 2017-03-02
  • 1 回答
  • 0 关注
  • 1183 浏览
慕课专栏
更多

添加回答

举报

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