Javascript: 我应该把标准数据的数组放在哪里?

Javascript: Where do I put an array with standard data?

我对 post 有点陌生,我总是通过搜索找到我的答案,从来不需要创建我自己的 post,所以如果我做错了什么请告诉我。

我也不知道如何表述这个问题,所以如果它很奇怪,我很抱歉。

我正在为 chrome 写一个扩展,我不确定我把国家代码和名称的数组放在哪里。

现在它就在我的 javascript 文件的开头(所有其他代码都在它下面)。这不是一个真正的问题,但我觉得我可以把它放在别的地方。我应该为它制作一个单独的文件还是应该保持原样?

就是这样:

var countryList = [
    ["AF", "Afghanistan"],
    ["AX", "Aland Islands"],
    ["AL", "Albania"],
    ["DZ", "Algeria"],
    ["AS", "American Samoa"],
    ["AD", "Andorra"],
    ["AO", "Angola"],
    ["AI", "Anguilla"],
    ["AQ", "Antarctica"],
    ["AG", "Antigua And Barbuda"],
    ["AR", "Argentina"],
    ["AM", "Armenia"],
    // And then a whole bunch more...
];

我确定我能在某个地方找到答案,但由于我在制定它时遇到问题,我似乎找不到任何相关问题。

最佳做法是将它放在命名空间中或在另一个函数范围内,以使其远离 'Window' 对象的全局命名空间,并且不会与其他 variables/libraries 产生任何潜在冲突。

这是命名空间的示例:

var App = {
    countryList: []
};

var arr = App.countryList[0];

这是一个范围界定示例:

(function() {
    var countryList = [];

    // do something here
})();

当像上一个例子那样在一个函数内设定范围时,'countryList' 变量将仅对周围函数中包含的其他 functions/code 可用。顺便说一句,这是 scoped/contained 它在一个 "anonymous method" 中,它在声明后通过柯里化自动执行。

有关柯里化的更多信息:http://www.dustindiaz.com/javascript-curry/