我在这里遇到了一些问题。我有以下代码声明两个变量:
var anawesomevariable = "hello world";
var variabletwo = "anawesomevariable";
如您所见,第二个变量的内容与第一个变量的名称相同。我的问题:我想使用variabletwo
的内容更改第一个变量。换句话说,我想说“嘿Javascript,更改名称在variabletwo
”的变量的内容。有没有办法在Javascript中执行此操作?
P.S。我没有真正解释清楚,但你明白我的观点(我希望)
答案 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";