Javascript:这可能吗?

时间:2010-11-22 23:52:24

标签: javascript variables

这可能吗?

var [a+b] = something;

a :由我定义。例如:“对象”

b :是一个变量。例如:“2”

6 个答案:

答案 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)

如果您尝试将某个值设置为代表ab组合的值,为什么不执行以下操作:

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);