[英]Javascript: refactor function outside of loop
因此,JSHint告诉我,我不应该在循环内创建函数。 然后,我通常在循环外创建一个函数。
但是,现在我要说的是,这比较困难:
for (r=0;r<x;r++) {
for (c=0;c<y;c++) {
var arr = [c,r];
setTimeout( (function(arr) { return function() { doSomething(arr); };})(arr), 50+c*550 + r*230 );
}
}
我该如何重构这部分而不会收到JSHint警告?
很简单:
for (r=0;r<x;r++) {
for (c=0;c<y;c++) {
var arr = [c,r];
setTimeout( proxy(arr), 50+c*550 + r*230 );
}
}
function proxy(arr){
return function(){
doSomething(arr);
};
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.