为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript的onclick函数调用外部变量的上下文能保存么?

Javascript的onclick函数调用外部变量的上下文能保存么?

临摹微笑 2019-04-07 09:38:18
问题可能一句话描述不清楚,先给出代码,大家可以建立一个html文档运行一下:for(vari=0;i
查看完整描述

2 回答

?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

尽量不要用闭包,闭包有性能问题.
for(vari=0;i<10;i++){
varb=document.createElement("button");
b.index=i;
b.textContent=i;
b.onclick=function(){
alert("thisis"+this.index);
};
document.body.appendChild(b);
}
                            
查看完整回答
反对 回复 2019-04-07
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

把i作为参数传过去就可以了:
for(vari=0;i<10;i++){
varb=document.createElement("button");
b.textContent=i;
b.onclick=(function(i){
returnfunction(e){
alert("thisis"+i);
}
})(i);
document.body.appendChild(b);
}
                            
查看完整回答
反对 回复 2019-04-07
  • 2 回答
  • 0 关注
  • 316 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信