怎么动态生成js变量

2024-11-23 05:03:12
推荐回答(3个)
回答1:

动态生成全局变量:

//简单的用字符串作为变量名
window['hello'] = "hello, world";
alert(hello);

//批量定义
for(var i=0; i<10; i++) {
  var varname="var"+i;
  window[varname] = "value"+i;
}
alert(var0);
alert(var9);

解释:所有的全局变量都存在window变量里。window是个js本身定义的变量,类型为object。

访问全局变量var0 相当于访问window.var0,也相当于window["var0"]。


局部变量最好用object吧:

function test() {
  var vars = {};
  // 简单的字符串作为变量名
  vars['hello'] = "hello, world!";
  alert(vars.hello);
  
  //批量定义
  for(var i=0; i<10; i++) {
    var varname="var"+i;
    vars[varname] = "value"+i;
  }
  alert(vars.var0);
  alert(vars.var9);
}

跟上面同理,只是不能隐式调用变量,而是得显示的写出object(上面的vars)

回答2:


eval("x=10;y=20;")
document.write(x*y);

 拼接一下字符串,实现动态生成js变量

回答3:

生成变量如何引用呢,用json处理就可以了,没有必要生成js变量