【问题标题】:JS: Creating n variables using for loop? [duplicate]JS:使用 for 循环创建 n 个变量? [复制]
【发布时间】:2018-06-30 16:18:30
【问题描述】:

如果我必须创建 n 个变量 a_1a_2a_3 ... a_n,其中 n 是在运行时确定的,我该怎么做?

显然,这段代码不起作用:

var n = prompt("Enter number of variables?");
for (i=0; i<=n; i++) {
var a_i
}

由于 n 由用户指定,因此无法预先确定要创建的变量数量。

也就是说,是否可以在 JS 中从另一个变量中创建一个名称为变量的变量?

【问题讨论】:

  • 为什么不直接使用数组?
  • 您能解释一下为什么需要这样做吗?这可能是 JavaScript 字典的用例
  • @Mureinik 我想要这个用于矩阵,并且 js 中不允许使用数组数组
  • @Abhishek 实际上 JavaScript 中确实允许数组数组
  • 如果您不知道变量的名称,您以后如何访问变量?使用数组。

标签: javascript loops variables for-loop


【解决方案1】:

是的,像这样

for (i=0; i<=n; i++) {
window['a_'+i] = undefined;
}

【讨论】:

  • 这将创建一个全局变量,不一定在父函数的范围内
  • 这可行,但您不应该这样做。您应该尽量减少分配给window 的属性数量。请改用自己的对象。
  • @ManuallyOverriden 我完全看不懂代码,请解释一下
  • @Abhishek - 这就像我在对您的问题的评论中告诉您的那样,仅使用全局范围 (window) 而不是本地范围 (local object )
猜你喜欢
  • 1970-01-01
  • 2019-04-29
  • 2015-12-26
  • 2022-01-05
  • 2018-02-18
  • 2012-01-21
  • 2013-09-10
  • 2014-04-14
  • 1970-01-01
相关资源
最近更新 更多