js动态生成变量(eg:加载js并使用js变量)

来源:互联网 发布:mac ruby rvm 编辑:程序博客网 时间:2024/05/16 06:25
 例如可能需要生成 test_1, test_2, test_3... (后面的数字是根据参数来的)。 所以我的函数名 应该由 var name = "test_"+num;   生成函数名  但这问题就来了。
window[name]会解析name的值如果name是个字符串可以解析出来,也可以对其进行赋值,
window.name不会解析name的值,就相当于var name,
1.  初始化变量时 等号左边是不允许是表达式的。
    所以 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]=
    }


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 易班优课 优易行 优易网 优易贷app 优易学车app学员版 易优特 优易学车怎么刷学时 易极优酸奶机怎么样 优易数据 易极优酸奶机 优易学车app 国信优易 尚易优家集成墙板 优易学 优易行app下载 易优 郦优昙作品 烛雪by郦优昙 美酒飘香郦优昙 哑妻郦优昙 回头郦优昙 郦优昙 哑妻郦优昙txt 梅开二柱郦优昙 慈悲by郦优昙 优昙陀罗花 梅开二柱 郦优昙 回头 郦优昙 囚妃传 郦优昙 美酒飘香 郦优昙 郦优昙的作品 优昙钵华奶茶实验室 哑妻 郦优昙 丑妻 郦优昙 优昙无花果 昙怎么读 优昙婆罗花放大400倍 寂寞堇花开 郦优昙 江优言容景深全文免费阅读 容景琛江优言全文目录