0

下面的代码不起作用。你能帮我找出我的错误吗:

<!DOCTYPE html>

<html>
<body>
<script>
for(var i = 0; i < 10; i++) 
{
    soops();
}

function soops() {
    for(i = 0; i < 10; i++) {
                alert(i);
                      }
}

</script>
</body>
</html>
4

4 回答 4

1

错误是您i在两个循环中使用了相同的变量,但在您的soops函数中您没有使用var关键字,即它认为这i是从外部获取的。使用它(假设您希望 10 个循环被触发 10 次):

for(var i = 0; i < 10; i++) 
{
    soops();
}

function soops() {
    for(var i = 0; i < 10; i++) {
        alert(i);
    }
}
于 2013-04-04T07:45:51.487 回答
0

这已经足够了

for(var i = 0; i < 10; i++) 
{
    soops();
}

function soops() {
   alert(i);
}
于 2013-04-04T07:45:45.183 回答
0

将 soops 函数更改为:

function soops() {
    for(var i = 0; i < 10; i++) {
        alert(i);
    }
}

缺少var意味着变量是全局变量,这将与函数外部声明i的变量发生冲突。i

工作示例 - http://jsfiddle.net/infernalbadger/vYK2j/

于 2013-04-04T07:46:15.473 回答
0

一、改变

<script>`

<script>

然后更改soops函数:

function soops() {
    for(var i = 0; i < 10; i++) {
        alert(i);
    }
}
于 2013-04-04T07:48:39.073 回答