javascript - 使用函数来划分范围

标签 javascript

Eloquent Javascript chapter on modules提供了以下使用函数来划分范围的示例:

var dayName = function() {
    var names = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
    return function(number) {
        return names[number];
    };
}();

我不清楚上面的内容如何比更简单的内容提供任何好处(范围和名称污染方面):

function dayName(number) {
    var names = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
    return names[number];
}

最佳答案

在第一个示例中,该 name 数组只会创建一次,直到它的对象位于范围内。如果从文件或数据库获取值,这非常有用。

关于javascript - 使用函数来划分范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28460134/

相关文章:

javascript - 需要帮助修复 Javascript 中的无限循环

javascript - Handsontable 中的多个编辑器

javascript - 抓取 html 页面并将其转换为 json 对象

javascript - Google 自定义搜索热门查询出现错误

javascript - Ui Router - 嵌套 View 未显示($viewContentLoaded 未触发)

javascript - 为什么我收到 'object is not a function' ?

javascript - 日期选择器和自动完成 jquery 之间的冲突

javascript - 使用javascript和jquery,用数组结构填充相关的选择框

javascript - 外部 promise 永远不会在 ngMock 的单元测试中完成

javascript - 从 Iframe 内部加载网站时重定向页面?