setInterval和for循环的问题

时间:2017-09-05 04:29:09

标签: javascript html

这段代码只是在网页上吐出'11'(我不知道它是如何到达11的,我认为我的价值是10:

<!DOCTYPE html>
<html>
<body>
<p id="demo01"></p>

<script>
for(i = 1; i < 10; i++){
    setInterval(function() {
        document.getElementById("demo01").innerHTML = i;
    }, 1000);
}

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

无论如何,我的问题是为什么我看不到计数每一秒发生?我不应该看到它从1-10?

因为如果我将代码更改为:

<!DOCTYPE html>
<html>
<body>
<p id="demo01"></p>

<script>
for(i = 1; i <= 10; i++){
    setInterval(function() {
        document.getElementById("demo01").innerHTML = Math.floor(1000*Math.random());
    }, 1000);
}

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

每1秒看一个随机数,但10次循环后它不会停止!它只会永远持续下去。

有人能指出我正确的方向发生了什么吗?

感谢。

0 个答案:

没有答案