gpt4 book ai didi

Javascript:在循环外重构函数

转载 作者:行者123 更新时间:2023-11-28 13:50:14 25 4
gpt4 key购买 nike

所以 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);
};
}

关于Javascript:在循环外重构函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11358803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com