从外部JS文件

时间:2015-07-27 05:39:48

标签: javascript jquery variables

我正在加载一个外部javascript文件,该文件只填充带有int或字符串或booleans或数组的变量。有点像...

varBool=false;
var1="var1";
var2="var2:";
var3="var3";
anothervar3="anotehr var 3";
var5="var5";
testvar2="test var 2";
var7="var7";
var8="var8";
myvar34="myvar 34";
var10="var 10:";

morevars2="more vars!";
morevarshere="more vars here.";
morevars5="more vars.";
morevarsthere="more vars there";
myarray=new Array(1);
myarray[0]="d";
anotherarray=new Array(5);
anotherarray[0]="value 1";
anotherarray[1]="value 2";
anotherarray[2]="value 3";
anotherarray[3]="value 4";
anotherarray[4]="value 5";

我已经通过访问变量名本身来阅读有关从父JS访问这些变量的一些问题。但是每次加载新的JS时,我正在加载的文件将具有不同的值集。是否可以动态获取值而无需指定确切的var名称?

谢谢!

2 个答案:

答案 0 :(得分:1)

创建一个JSON对象来代替存储数据。然后,您可以迭代对象以获取键/值对。

var vars = '{"name": "Someone","number": 15,"type": "something"}';

var json = JSON.parse(vars);

for (var key in json){
    console.log(key + ' => ' + json[key]);
}

答案 1 :(得分:0)

我假设您无法控制外部JavaScript文件

示例中的所有变量都将在global范围内定义。这意味着它们被分配到window对象。

然后,您可以使用括号语法访问它们:

// dot syntax
window.var1; 
// -> "var1"

// bracket syntax
window['var1']; 
// -> "var1"

因此,您不需要知道确切的变量名称,您可以检查变量是否在window对象上定义,并使用括号表示法来获取值