说我有以下JS:
Run Code Online (Sandbox Code Playgroud)var foo_index = 123; var bar_index = 456;
以下HTML:
Run Code Online (Sandbox Code Playgroud)<div id="foo"></div> <div id="bar"></div>
然后我想说这个:
Run Code Online (Sandbox Code Playgroud)thisIndex = this.id + '_index'
我想thisIndex成为一个号码.如何将字符串(这正是变量名称)转换为变量?
SLa*_*aks 11
你应该把变量放在一个对象中,如下所示:
var indices = {
foo: 123,
bar: 456
};
var thisIndex = indices[this.id];
Run Code Online (Sandbox Code Playgroud)
此代码使用JSON语法和对象文字来定义具有两个属性的对象,并用于[]按名称访问属性.
你也可以写
var indices = new Object;
indices.foo = 123;
indices["bar"] = 456;
Run Code Online (Sandbox Code Playgroud)
rek*_*o_t 10
您可以.如果foo_index和bar_index是全局变量,您只需执行以下操作:
var thisIndex = window[this.id + '_index'];
Run Code Online (Sandbox Code Playgroud)
你可以尝试使用eval函数:
http://www.w3schools.com/jsref/jsref_eval.asp
它完全符合您的需求.