JS 一个变量名可以用变量来表示吗?

var a1 = 1;
var a2 = 2;
var a3 = 3;
var a4 = 4;
如此类推,直到99。。

这样一个个定义有点累人,有偷懒的写法吗?

自己试写了下,报错了~~怎么解决呢!

for(var i = 1;i<99;i++){
    console.log(i);
    var ['a' + i] = i;
}
console.log(a8);
阅读 4.6k
3 个回答
for(var i = 1;i<99;i++){
    console.log(i);
    eval(`var a${i} = ${i};`)
}

一个选择是使用eval:

for (let i = 1; i < 100; i++) {
  eval(`var a${i} = ${i}`)
}

image.png


然而不知道你遇到了什么样的需求要写这样的代码?
逐个变量声明是旧石器时代的事了,现在科技比较先进了,这种一般用数组技术来实现:

var a = [1, 2, 3]
var obj = {}
for(var i = 1;i<99;i++){
    console.log(i);
    obj['a' + i] = i
}
console.log(obj.a8);

声明一个对象,用对象的key接收

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题