【发布时间】:2014-02-25 22:24:56
【问题描述】:
对于在循环中声明的复杂函数,我可以理解为什么我不想这样做,但为什么它会被认为是糟糕的 javascript?
当然,我们可以命名函数并将其置于循环之外,但会因为一些简单的事情(没有异步)而扰乱流程。
例如,下面是一个循环内的简单内联函数声明(JSHINT/LINT 抱怨,为什么这被认为是不可以?
for (var i = 0, len=arr.length; i < len; ++i) {
dosomething(arr[i], function(returnvalue) {
console.log(returnvalue);
});
};
【问题讨论】:
-
这将为每次迭代创建函数。这是无用的沉重。养成良好的习惯比以后必须优化要好,但是好吧,如果是客户端并且性能无关紧要,那么这并不重要...
-
所以是性能问题?
-
如果您使用
forEach,您可以轻松解决此问题
标签: javascript