我正在遍历 DOM 元素的集合。每次迭代都会多次使用 helper()
函数,如下所示:
$(".myclass").each(function() {
var arg;
helper();
// do stuff
function helper() {
// do helpful stuff with arg
}
});
如上所述,将 helper()
函数包含在 function()
block 中是不好的做法吗?我应该使用:
$(".myclass").each(function() {
var arg;
helper(arg);
// do stuff
});
function helper(arg) {
// do helpful stuff with arg
}
在第一个示例中,每个匹配的 .myclass
元素是否在内存中都有自己的 helper
函数实例?
编辑:如果有人正在寻找答案的良好解释 - http://net.tutsplus.com/tutorials/javascript-ajax/stop-nesting-functions-but-not-all-of-them/
最佳答案
您确实在第一个示例中创建了 helper
函数的实例,而在第二个示例中只有一个实例用于所有迭代。
因此,为避免创建多个相同的函数,您可以内联第一个示例中的代码或使用第二种方法。
关于javascript - 是否建议在 .each() 中放置一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9579446/