在引用变量

时间:2018-03-05 04:11:29

标签: javascript

<script>
var seaSlt1 = "Init1";
var seaSlt2 = "Init2";
var seaSlt3 = "Init3";
var seaSlt4 = "Init4";
var seaSlt5 = "Init5";
var seaSlt6 = "Init6";

    for(var i=1;i<7;i++)
    {

        alert(seaSlt+i);
    }
 </script>       

为什么结果什么都没有?

正确的结果应该是:

Init1
Init2
Init3
Init4
Init5
Init6

我尝试了另一种方式:

alert("seaSlt"+i);

但结果是:

seaSlt1
seaSlt2
seaSlt3
seaSlt4
seaSlt5
seaSlt6

失败了。似乎没什么不对,谁能帮帮我?

2 个答案:

答案 0 :(得分:3)

如果您有全局变量,可以使用window对象访问它们:

&#13;
&#13;
var seaSlt1 = "Init1";
var seaSlt2 = "Init2";
var seaSlt3 = "Init3";
var seaSlt4 = "Init4";
var seaSlt5 = "Init5";
var seaSlt6 = "Init6";

for(var i=1;i<7;i++)
{
    console.log(window["seaSlt"+i]);
}
&#13;
&#13;
&#13;

但是,对于这种类型的信息,数组更合适:

&#13;
&#13;
const seasSlt = ["Init1", "Init2", "Init3", "Init4", "Init5", "Init6"];

for(var i = 0; i < seasSlt.length; i++){
    console.log(seasSlt[i]);
}
&#13;
&#13;
&#13;

答案 1 :(得分:0)

这不是引用变量的方式。

警报(seaSlt + I);

对于上面的行,解释器将首先尝试找到seaSlt变量,然后它将尝试将i的值添加到它。因为seaSlt不是一个变量存在,这就是为什么你什么也得不到。

如上所述,Array是它的完美用例..  您可以使用简单的for循环遍历整个数组。