js中定义用字符串拼接起来的变量名的变量
1.window[name] 的方式
var "test_"+num = 100; 这中肯定是错误的
可以使用 window[name] = 100 这种方式来定义变量
function create_variable(num){ var name = "test_"+num; //生成函数名 window[name] = 100; window['name'] = 200; //注意看中括号里的内容加引号和不加引号的区别 } create_variable(2); alert(test_2); // 100; alert(name); //200;
总结 window用中括号的方式定义 变量时,中括号里的内容应该是字符串。
如果是一个变量的话,他就会解析这个变量找到具体的值。
他和点语法区别就是这里,点语法后面跟的内容就是要定义的变量名。而不会在解析他是否为变量之类的。例如
var name = "test" window.name = 200 alert(name); // 200 alert(test); ReferenceError: test is not defined
2.用对象的形式
你的问题可以通过js的对象实现 var ovar = {}; for(var i=0;i<10;i++){ ovar['var_'+i]=''; }
3.用数组的形式
var arr=[]; for(var i=0;i<xxx.length;i++ ) { arr[i]= }