关于本节课程序执行的疑问。
for(var i=0;i<btn.length;i++){
btn[i].addEventLister('click',function(){
function(){
console.log(i);
}
},false);
}
老师,能讲一下这段代码的执行顺序吗?
48
收起
正在回答
1回答
同学你好,执行顺序如下:
1、页面打开时,会执行for循环,for循环执行步骤如下:
第一次循环, i=0 , 符合循环条件i < btn.length , 所以执行循环中的代码,为第一个按钮btn[0]绑定了点击事件。注意事件是不会自动执行的,需要触发才会执行。
第二次循环, i=1 , 符合循环条件i < btn.length , 所以执行循环中的代码,为第二个按钮btn[1]绑定了点击事件。
第三次循环, i=2 , 符合循环条件i < btn.length , 所以执行循环中的代码,为第三个按钮btn[2]绑定了点击事件。
第四次循环,i=3, 不符合循环条件,跳出循环。
以上是页面打开自动执行的,执行的非常快。
2、当点击按钮时,触发事件,输出i的值。注意在第一条中,i已经为3了,所以不管点击哪一个按钮,i都是3。
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星