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

问题可能一句话描述不清楚,先给出代码,大家可以建立一个html文档运行一下:
for(vari=0;i<10;i++){
varb=document.createElement("button")
b.textContent=i
b.onclick=function(e){
alert("thisis"+i)
}
document.body.appendChild(b)
}
我想实现的效果是,点5号按钮,弹出对话框就显示thisis5。当然现在无论点击几号按钮都出现thisis10。原因我清楚,但是不知道怎么修改才行。求助各位大大!
临摹微笑
浏览 317回答 2
2回答

繁星点点滴滴

尽量不要用闭包,闭包有性能问题.for(vari=0;i

慕田峪4524236

把i作为参数传过去就可以了:for(vari=0;i
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript