有时对一系列相似的事件做出反应很简单,但每一个事件的参数在开始时非常简单。如果你使用for循环,你不能得到它。结果是使用最后一个参数。

在因特网上查找信息!!!结果,大神说用闭包解决它。

代码uff1a
复制代码代码如下所示:
对于(var i = 0;i < 10;i + +){
BTNs {我}。onclick =(功能(我){)
返回函数(){警报(i)}
})(一)
}

原因是当BTNs {我}。onclick =函数()(){ alert(i)}是直接使用,Javascript引擎将在循环的第一执行代码。

当用户启动的onclick事件,Javascript会找到我,结果就是操作,就是在找我,10。

但使用闭包时,我将成为函数的局部变量。