JavaScript - 用于循环的数组

prk*_*prk 0 html javascript

所以这就是我到目前为止所做的:

<script>
text = new Array("t", "te", "tes", "test");
for(new i; i < text.length; i++)
{
    document.getElementById('text').innerHTML=text[i];
}
</script>


<body>
<span id='text'></span>
</body>
Run Code Online (Sandbox Code Playgroud)

我稍后会添加一个计时器,但我的问题是,为什么我得到"ReferenceError'i'未定义"?它被定义为你可以看到..提前谢谢.

Bhu*_*han 7

代替:

for(new i; i < text.length; i++)
Run Code Online (Sandbox Code Playgroud)

试试这个:

for(var i=0; i < text.length; i++)
Run Code Online (Sandbox Code Playgroud)

您正在使用new,在javascript中我们必须使用var声明变量.

UPDATE1

正如@MattBall和@oxfn在评论中提到的那样,您的脚本在DOM准备好之前就已经运行了.所以你必须将脚本放在body标签之后.(或者你可以jquery).

以下是工作代码:

<body>
    <span id='text'></span>
    <script>
    var text = new Array("t", "te", "tes", "test");
    for(var i=0; i < text.length; i++)
    {
        document.getElementById('text').innerHTML = document.getElementById('text').innerHTML +":"+ text[i];
    }
    </script>
</body>
Run Code Online (Sandbox Code Playgroud)