JS中变量名中拼接字符串问题

今天在写js的时候碰到了问题,我有一个页面需要循环生成很多的变量。但是变量的名称是根据参数的不同而区分的。

这就需要我定义一个var num =1,2,3,4,5,6,7去拼接一个共同的字符串data.

例如可能需要生成 data1,data2,data3... (后面的数字是根据定义的参数sum来的) 所以我的函数名,应该由 var "data_"+num =100; 生成函数名与赋值,但这问题就来了。初始化变量时 等号左边是不允许是表达式的。所以在JS中使用 var "data"+num = 100 这种写法是有问题的。这时可以使用 window[name] = 值,用这种方式来为定义变量。看代码举例

   function create_variable(num){
    var name = "data"+num;   //生成函数名
    window[name] = 100;//为定义的变量data+num赋值,
    window['name'] = 200; //为生成的变量名name赋值
 //注意看中括号里的内容加引号和不加引号的区别,最终效果相同
    }
    alert(data2);  //会输出100;
    alert(name); //会输出200;

你可能感兴趣的:(项目,开发,随笔,javascript,前端)