javascript - 是否建议在 .each() 中放置一个函数?

标签 javascript jquery scope

我正在遍历 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/

相关文章:

javascript - 用反斜杠分割字符串

php - $new = new self($data);带有私有(private)函数甚至变量oO?

javascript - 访问 "Parent Scope"

php - 如何使用 javascript 或 jQuery 进行计算,从各种不同的元素中获取值?

javascript - 向伪 :before element 添加一个类

java - 最后阻止在 Oracle 的 JAVA 存储过程中不起作用

javascript - rCharts 格式化轴标签 : outputFormat

javascript - 悬停在父文本上的下拉菜单

javascript - CouchDB - 映射函数中的变量

javascript - 它继承自的字符串的原型(prototype)是什么?