我想访问变量FR [0]。可变国家是“FR”。我以为会这样做:
console.log("eval country: " + eval("country"));
console.log("fr0: " + FR[0]);
console.log("eval country0: " + eval("country")[0];
输出结果为:
eval country: FR
fr0: http://www.example.co.uk/
eval country0: F
我做错了什么?
编辑:澄清:国家变量发生变化。有时它是FR有时它是英国等等。我想它根据国家/地区包含的字符串访问适当的变量。
答案 0 :(得分:1)
我想回答你的具体问题,你必须做一些事情:
eval(country + '[0]')
但这是一种可怕的做法,因为如果字符串是一些恶意的JS,那么就会对它进行评估,并且会发生坏事。最好只有一个对象存储数据,而不是将它们放在单独的变量中:
var myData = {
"FR": ['http://example.co.fr', 'adf', 'asdf'],
"UK": ['http://example.co.uk', 'asdf', 'asdf']
};
并像这样访问:
myData[country][0]