美文网首页
js中定义一个变量,变量名是字符串和“变量i”拼接的解决办法

js中定义一个变量,变量名是字符串和“变量i”拼接的解决办法

作者: 悠哉悠哉_8c2a | 来源:发表于2019-07-13 16:51 被阅读0次

    想生成类似于 test_1, test_2, test_3 ... 这样一系列的变量名字。
    但是初始化变量 "=" 左边不允许为表达式。

    //这种方式不可行:
    var "test_"+i = "我是一个变量名不固定的变量"; // i = 1,2,3...
    

    经过查询:

    1、可以使用 window[name] = " " 这种方式来定义变量:

    for(var i=0; i < 3; i++){
        var name = "test_" + i;
        window[name] = "字符串" + i;
        console.log(window[name]);  //输出:字符串0,字符串1,字符串2
        console.log(name);  //输出:test_0,test_1,test_2
        console.log(test_0);  //写在循环里,控制台报错!!!
    }
    console.log(test_0);  //写在循环外,输出:字符串0
    

    2、可以使用对象的形式:

    var test = {};
        for(var i = 0; i < 3; i++){
            test['test_'+i]='我是字符串'+i;
            console.log(test['test_'+i]); //输出:我是字符串0, 我是字符串1, 我是字符串2
        }
    console.log(test_0); //输出:ReferenceError: test_0 is not defined
    console.log(test['test_0']); //输出:我是字符串0
    

    3、可以使用数组的形式

    var test = [];
        for(var i = 0; i < 3; i++){
            test[i]='我是字符串'+i;
            console.log(test[i]); //输出:我是字符串0, 我是字符串1, 我是字符串2
        }
    console.log(test[0]); //输出:我是字符串0
    

    作者:swirlee
    来源:CSDN
    原文:https://blog.csdn.net/swirlee/article/details/88090080

    相关文章

      网友评论

          本文标题:js中定义一个变量,变量名是字符串和“变量i”拼接的解决办法

          本文链接:https://www.haomeiwen.com/subject/ywjmkctx.html