更改名称在另一个变量中的变量

时间:2014-01-13 23:53:29

标签: javascript variables

我在这里遇到了一些问题。我有以下代码声明两个变量:

var anawesomevariable = "hello world";
var variabletwo = "anawesomevariable";

如您所见,第二个变量的内容与第一个变量的名称相同。我的问题:我想使用variabletwo的内容更改第一个变量。换句话说,我想说“嘿Javascript,更改名称在variabletwo”的变量的内容。有没有办法在Javascript中执行此操作?

P.S。我没有真正解释清楚,但你明白我的观点(我希望)

4 个答案:

答案 0 :(得分:1)

你可以做到

eval(variabletwo + ' = "new value"');

导致运行代码

anawesomevariable = "new value";

答案 1 :(得分:1)

如果awesomevariable是全局变量,您可以执行此操作:

window[variabletwo] = 'goodbye world';

答案 2 :(得分:0)

你不能*(而且不应该)操纵变量,但它与属性是一块蛋糕:

var obj = {anawesomevariable: "hello world"};
var variabletwo = "anawesomevariable";

obj[variabletwo] = whatever

^ *在这里甚至不考虑“eval”。严重。

答案 3 :(得分:0)

您有几个选择。使用eval()的选项1,我不鼓励,最简单,就像这个

eval(variabletwo + ' = "cool"');

第二个选项是将它们声明为全局变量,如此

window.anawesomevariable = "hello world";
window.variabletwo = "anawesomevariable"

然后

window[variabletwo]="foo";

但是,如果您想在当前范围内保留某些内容,请在对象中声明它,例如

var obj = {anawesomevariable: "hello world"};
var variabletwo = "anawesomevariable";

obj[variabletwo] = "foo";