我想在javascript中创建一个新变量,但它的名字应该由陈旧部分和变量之类的部分组成:
tab_counter = 1;
var editor + tab_counter = blabla
我希望新的变量名称在这种情况下编辑器1,这可能吗?
答案 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);
答案 3 :(得分:0)