这可能吗?
var [a+b] = something;
a :由我定义。例如:“对象”
b :是一个变量。例如:“2”
答案 0 :(得分:2)
我不确定本地人,但对于全局变量,您可以使用window[a+b]
来访问变量。
答案 1 :(得分:2)
不确定您要实现的目标。您不能简单地将字符串放在括号中来创建变量,但您可以使用括号将名称/值对添加到对象。例如,如果要将此值添加到对象myNewObj,则可以执行以下操作:
var myNewObj = {};
myNewObj[ a + b ] = something;
答案 2 :(得分:2)
如果我在这里错了,请拍下我,但看起来你正试图动态定义你的变量名,以便你可以
var myVar1 = something;
var myVar2 = something;
等等。
AFAIK你不能用JavaScript或任何声明性语言来做这件事。您更好的方法可能是在此实例中使用数组。您需要采用这种方法的实际驱动因素是什么?
答案 3 :(得分:2)
如果您尝试将某个值设置为代表a
和b
组合的值,为什么不执行以下操作:
var obj = {};
obj[a] = {};
obj[a][b] = "something";
不像obj[a+b] = "something"
那么短,但它更可靠,因为
a = "object"
b = "2"
和
a = "objec"
b = "t2"
使用obj[a+b]
答案 4 :(得分:1)
我不禁想到您在上面的代码段中有语法错误。但是,如果您的问题是将某些内容分配给数组中的动态位置,则可以执行此操作
按照以下示例代码
var a = 5;
var array = [];
function someFunction(b){
array[a+b] = 'hello'
}
someFunction(5);
alert(array[10]);
答案 5 :(得分:1)
和其他人在这里我真的不明白你的目的,但你可以这样写:
var a ='te';
var b = 'st';
eval ('(' + a + b + ' = 3)');
alert (test);