批量添加监听
程序员文章站
2022-06-14 13:31:33
...
页面上所有的p,现在都要有click事件监听,就要用循环语句去加:
for (var i = 0; i < ps.length; i++){
ps[i].onclick = function(){
alert("你好");
}
}
for循环包裹添加监听的语句。对序号的影响,闭包的影响就出现了:
方块 方块 方块 方块 方块 方块 方块
for (var i = 0; i < ps.length ; i++){
ps.[i].onclick = function(){
alert("我是老" + i + "点我干嘛?!!");
}
}
每个盒子点击之后都是7,而不是我们想的0、1、2、3、4、5、6。闭包的影响:函数匿名的定义的时候,已经记住了自己认识i,但认识i不是表示把i的值赋值了一份记住,而是真真正正的认识了鲜活的、有生命的i。所以匿名执行函数的时候(就是事件发生时)i已经是7。