Javascript动态变量(添加随机数)

标签 javascript variables random dynamic

如何在 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/

相关文章:

javascript - 如何检查并通知用户浏览器中启用了 javascript

linux - 生成包含给定范围内任意大小的一组文件的内容的文件

c# - 错误 : "Cannot modify the return value" c#

r - 循环: selection of variable for correlation function in r

Python:随机混合两个列表

r - 来自未知概率分布的样本

javascript - 打开右边的子菜单

javascript - 无法解析对 Kinvey 后端的批量 JSON POST 请求

Javascript单选按钮组点击

javascript - 在 Javascript 中将对象键从一个对象映射/过滤到一个新对象