Javascript:给变量一个由2个变量组成的名称

时间:2011-11-04 15:24:58

标签: javascript

我想在javascript中创建一个新变量,但它的名字应该由陈旧部分和变量之类的部分组成:

tab_counter = 1;
var editor + tab_counter = blabla

我希望新的变量名称在这种情况下编辑器1,这可能吗?

4 个答案:

答案 0 :(得分:6)

您不能以这种方式创建独立的变量名称(除了作为全局)(编辑eval()除外),但您可以创建对象属性:

var tab_counter = 1;
var someObject = {};
someObject['editor' + tab_counter] = "bla bla";

您可以将全局变量创建为“窗口”属性,但您可能不应该这样做,因为全局变量会让小猫哭泣。

(现在,如果您真的只是通过增加计数器进行索引,您可能会考虑使用数组。)

编辑也看到@Birey有点令人不安但完全正确的观察,你可以使用“eval()”做你想做的事。

答案 1 :(得分:1)

您可以执行Birey使用的eval方法,也可以创建对象的自定义属性,例如......

obj[editor + tab_counter] = blabla;

但听起来你正在以一种特别可怕的方式做你正在做的事情。如果您只想存储可以索引的多个项目,请使用数组...

var array = [];
array[0]  = blabla;
array[1]  = blabla2;

alert(array[0]); //shows value of blabla
alert(array[1]); //shows value of blabla2

答案 2 :(得分:1)

可能

var tab_counter=1;
eval("var editor"+tab_counter+"='blah'")
alert(editor1);
eval("var editor"+tab_counter+1+";")
editor2='blahblah';
alert(editor2);

http://jsfiddle.net/5ZLYe/

答案 3 :(得分:0)

好像你可能想考虑使用Dictionary这样的东西。引用此This linklink描述了您的选择。