jquery数组常量

时间:2011-03-17 19:25:26

标签: javascript jquery arrays

  1. 如何创建jquery常量文件并从其他js文件访问它?
  2. 我该怎么做?
  3. 我有一个字符串列表。 我需要将它们放入数组A1中。 然后我需要为A1中的一些元素创建另一个数组A2。 A2的值是A1的元素。 这有点像将A1中的字符串分组为A2,但我需要访问A1和A2。 使用javascript / jquery执行此操作的最佳方法是什么? 我想如果我将它们放入常量中,如果元素值发生变化,我就不必重复它们。

    e.g。

    A1 = "a", "cat", "hat","b", "bob", "ben", "c", "clay", "course", "d", "e", "done"
    
    A2["a"] = "cat", "hat"
    A2["b"] = "bob", "ben"
    A2["c"] = "clay", "course"
    

    如果“cat”变成“cot”,我不想在多个地方改变它...... 什么是最不凌乱的方法,并使这些数组可用于其他js文件?

4 个答案:

答案 0 :(得分:4)

然后只需创建名为constants.js的.js文件,其中包含以下内容:

var A1 = ["a", "cat", "hat","b", "bob", "ben", "c", "clay", "course", "d", "e", "done"];
var A2["a"] = ["cat", "hat"];
var A2["b"] = ["bob", "ben"];
var A2["c"] = ["clay", "course"];

在任何其他脚本(.js文件)之前在您的页面的HTML中引用它:

<script type="text/javascript" src="constants.js"><script/>

这样,您的所有脚本都可以访问constants.js中的变量,只要您想更改这些变量,就可以修改constants.js

答案 1 :(得分:1)

要回答你的第一个问题,这种让我想起了enumerated types。我处理你的常数的方式就是这样......

var constants = {
    a : "a",
    cat : "cat",
    hat : "hat",
    bob : "bob",
    clay : "clay"
};

...您可以按照constants.bobconstants.clay等方式访问这些内容,然后按照传统方式将JavaScript文件包含在您的网页中:

<script type="text/javascript" src="path-to-js-file/constants.js"></script>

就你的第二个问题而言,这让我想起了哈希表。我会考虑这个问题然后再回过头来。

我希望这会有所帮助。

答案 2 :(得分:0)

要从另一个文件访问常量,一个方便的jQuery方法是'getScript'。使用与从html / jsp / etc文件访问文件时相同的相对路径(即路径不是相对于放置getScript方法的位置,而是相对于域路径)。例如,对于localhost:8080 / myDomain:

的app
$(document).ready(function() {
  $.getScript('/myDomain/myScriptsDir/constants.js');
  ...

然后,如果你在一个名为constants.js的文件中有这个:

var jsEnum = { //not really an enum, just an object that serves a similar purpose
  FOO : "foofoo",
  BAR : "barbar",
}

现在可以用

打印'foofoo'
jsEnum.FOO

答案 3 :(得分:0)

我们可以像下面一样创建一个常量。它的工作方式类似于静态类

function Helper() { }

Helper.LocationType = {
    Division: "Division",
    Region: "Region",
    Unit: "Unit",
    HeadOffice: "HeadOffice",
    HO: "HO"        
};

我们现在只能输入Helper.LocationType.Division返回分部Helper.LocationType.Region返回区域