Javascript:我在哪里放置带有标准数据的数组?

标签 javascript arrays google-chrome google-chrome-extension

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

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

我正在为 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”对象的全局命名空间,并且不会与其他变量/库发生任何潜在冲突。

这是一个命名空间的例子:

var App = {
    countryList: []
};

var arr = App.countryList[0];

这是一个范围界定的例子:

(function() {
    var countryList = [];

    // do something here
})();

当像上一个例子那样在一个函数内限定范围时,'countryList' 变量将只对周围函数中包含的其他函数/代码可用。顺便说一下,这是一个范围/包含在一个“匿名方法”中,该方法在声明后通过柯里化(Currying)自动执行。

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

关于Javascript:我在哪里放置带有标准数据的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28548335/

相关文章:

c++ - 为对基础对象进行操作的函数提供派生对象数组

python - 在 Python 请求中使用 Chrome 的 cookie

html - 我的 ".hours"在 Chrome 中显示不正确。但是,在 Atom 中它显示正常。可能是什么问题?

c# - 使用 BitmapSource、PngBitmapEncoder/Decoder 时,在 PNG 中保存 8 位索引数据会改变原始字节

c# - 如何在接口(interface)或基类中定义一个固定大小的数组

google-chrome - Chrome 空 contenteditable 保留样式

javascript - 如何访问Object中的值?

php - 将带撇号的字符串从 PHP 传递到 JavaScript 函数

javascript - 如何使用react获取html格式的表格?

javascript - 无法将 JSON 绘制到 ChartJS