javascript中for循环的原理原理的一个小例子

2025-05-05 22:08:43
推荐回答(1个)
回答1:

  这个涉及到闭包的知识,你应该是初学者,我就讲浅一点吧

  在for循环里,实际上的执行顺序是,依次给四个input绑定事件,但该事件函数并未得到初始化,然后递增i变量,并将i变量留在内存中,所以,循环之后,i的值是退出循环的条件,也就是4,而接下来才开始初始化各个input标签的事件函数,var num=i这时的i已经是4了。

  如果要实现你想要的效果的话,可以这样子

     var aBtn=document.getElementsByTagName("input");
        for(var i=0;i        {
            (aBtn[i].onclick=function ()
            {
                    var num=i;
                    alert(num);
            })(i)
        }

  加了括号之后,事件函数就会立即初始化,而不是等循环退出才开始