Don't make functions within a loop
Don't make functions within a loop这种问题该怎么解决
Don't make functions within a loop这种问题该怎么解决
2016-12-26
// for (i = 0; i < length; i++) {
pics.onclick = fs(i);
}
function fs(i) {
return function() {
alert(i);
};
}
这个错误就是为了防止函数与循环之间作用域与自变量的问题,其中的细节就不多说了.接下来就自己学会变通了,函数是不能在一个循环内的,不过写了,不影响内容的结果
window.onload = function() {
var bad = document.getElementsByTagName("div");
for(var i=0;i<bad.length;i++){
bad.onmouseover=fs(i);
}
function fs(i){
startMove(this,100);
}
}
举报