我使用 for 循环在 javascript
中制作了一个简单的计时器,但是在单击按钮调用函数 test() 时,整个页面卡住了,所以我假设我在某个地方有一个无限循环
这是我的代码:
<html>
<head>
<script>
function test() {
var HowLong = 5;
for (var i=0;i<HowLong;i--) {
document.write(HowLong[i] + "<br>");
}
}
</script>
</head>
<body>
<input type="button" onclick="test()" value="Start Timer">
</body>
</html>
最佳答案
是的,for循环中有无限循环问题:
for (var i=0;i<HowLong;i--)
尝试使用 i++
而不是 i--
for (var i=0;i<HowLong;i++)
还有一点 HowLong
不是数组,因此您不能使用 HowLong[i]
,只需使用:
document.write(i+ "<br>");
正如@jfriend00
在评论中提到的,当您在加载文档后使用document.write()
时,它将清除当前文档并开始一个新文档。在您的情况下,您的按钮Start Timer
将被清除。如果你想避免它,你可以使用 div
并为其添加值。
<html>
<head>
<script>
function test() {
var HowLong = 5;
for(var i=0;i<HowLong;i++) {
document.getElementById("myDiv").innerHTML += i + "<br>";
}
}
</script>
</head>
<body>
<input type="button" onclick="test()" value="Start Timer">
<div id="myDiv"></div>
</body>
</html>
关于javascript for 循环进入无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21422619/