不要在循环中创建函数。 - jslint错误

时间:2011-07-28 21:17:34

标签: javascript jquery jslint jshint

我收到此jslint错误

  

不要在循环中创建函数。

我无法更改导致此问题的javascript - 但是由于修改它的限制,我无法更改。

因此,我希望将此验证转换为在特定的javascript文件中检查此错误。

这可能是为了这个js错误吗?

1 个答案:

答案 0 :(得分:8)

不,该检查不是可选的。

可能的解决方法:

// simple closure scoping i to the function.
for(var i = 0; i < 10; i++) {
    (function (index) {
         console.log(index);
     }(i));
}
// this works, however it's difficult to site read and not a blast to debug

解决方案:

// same exact output
function logger(index) {
    console.log(index);
}

// same output. Minus declaring all vars at the
// top of the function and console this passes jslint.
for(var i = 0; i < 10; i++) {
    logger(i);
}