这个程序怎么改 让handle[1]弹1,handle[2]弹2;var handle=[];
function bindEvent() {
for(var i=0;i<=2;i++){
handle[i]=function () { alert(i); } }}
bindEvent();
handle[1]();
handle[2]();
2 回答
宝慕林4294392
TA贡献2021条经验 获得超8个赞
使用闭包:
function bindEvent() { for(var i=0;i<=2;i++){ (function(x){ handle[x]=function () { console.log(x) } })(i) } }
或者 用let代替var
function bindEvent() { for(let i=0;i<=2;i++){ handle[i]=function () { alert(i); } } }
慕田峪4524236
TA贡献1875条经验 获得超5个赞
闭包。
var handle=[];
function bindEvent() {
for(var i=0;i<=2;i++){
handle[i]=(function (i) {
alert(i);
}).bind(this, i);
}
}
bindEvent();
handle[1]();
handle[2]();
添加回答
举报
0/150
提交
取消