如何在 Javascript 中创建动态变量?
例如,我有:
var myAwesomeText = "Hello World!"
但现在我希望变量 MyAesomeText 在每次刷新页面时都附加一个随机数。所以它看起来像这样:
var myAwesomeText12345 = "Hello World!"
最重要的是,一旦分配了随机数,我如何调用该新的随机变量? (即:警报(???);)
我已经尝试过类似的方法,但我在某个地方出错了。
var myRnd = Math.floor(Math.random()*100000);
var myVar = "MyAwesomeText" + myRnd;
str = myVar + ' = ' + '"Hello World!"';
eval(str);
alert(str);
最佳答案
您可以通过window
对象访问该变量:
var myRnd = Math.floor(Math.random()*100000);
var myVar = "MyAwesomeText" + myRnd;
window[myVar] = "Hello World!";
alert(window[myVar]);
不要为此使用eval
:它速度较慢并且对于此问题完全没有必要。此外,如果您的 MyAwesomeText
中包含在 JavaScript 代码中具有特殊含义的字符,例如方括号、分号、冒号、逗号、大括号等,它也可能会产生意想不到的副作用。
请注意,符号 object['prop']
给出的结果与 object.prop
相同。由于全局变量是在 window
对象中创建的,因此您可以通过 window.myvariable
表示法访问任何变量。
结合这两个事实,您可以使用 window[dynamicVariableName]
访问具有动态名称的全局变量。
关于Javascript动态变量(添加随机数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37309448/