javascript - 如何在for循环中使用索引变量创建函数?

标签 javascript

<分区>

这个问题看起来 super 原始,但我想不通。

我有这样的代码。我希望结果是三个警报“0”、“1”和“2”。然而,事实并非如此——我得到了三个 2。

for(var i=0; i<3; i++) {

   var j=i;
   setTimeout(function() {

      alert(j);

   },1000);
}

密码在http://jsfiddle.net/8UMCA/ .

如何“修复”代码以使其发出“0”-“1”-“2”警报?

最佳答案

或者这个

for(var i=0; i<3; i++) {          

       (function(){
             var j=i;
            setTimeout(function() {

            alert(j);

        },1000);           
       }
       )();



   }

关于javascript - 如何在for循环中使用索引变量创建函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22211020/

相关文章:

php - 在 php 中验证表单需要什么?

javascript - Stage.addchild 将对象置于前面

javascript - 使用 javascript 操作 css 边框以自定义

javascript - 在 javascript 中访问多维数组中的所有子元素 "mathematica"

javascript - 在没有 $scope 的情况下使用 $watch( Controller 作为语法)

javascript - 移动到表内 keyup 上的下一个输入字段

javascript - 从txtfield中获取并连接到数据库以及nodeJS

javascript - 如何在 HTML 表格中设置单元格的背景?

javascript - 如何将参数传递给 meteor 中的模板事件?

javascript - JQuery 最小化和最大化 HTML Div