怎么动态生成js变量

JavaScript031

怎么动态生成js变量,第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)

1.用eval,例子:

<script>

var Thread_num=5

for(var i=1i<=Thread_numi++){

eval("var set_" + i + "=" + i)

}

alert(set_5)

</script>

2.方法1占内存,建议用数组代替

<script>

var Thread_num=5

var arr=[]

for(var i=1i<=Thread_numi++){

arr[i] = i

}

</script>