Javascript 未完成循环
Javascript not completing a loop
我的程序应该从第一段中获取文本,复制100次,然后将其放入第二段中。但是当我执行此功能时:
<html>
<body>
<p id="first">First</p>
<p id="second">Second</p>
<script>
var i;
var word = document.getElementsByTagName('p')[0].innerHTML;
document.writeln(word); //Did this to check if it copied "first" correctly.
for (i=0; i<100; i++){
word+=word;
document.write(i) //Did this to see how man time it loops
}
document.getElementById("second").innerHTML = word;
</script>
</body>
</html>
它在 Safari 中返回以下内容(仅循环 27 次):
First
Second
First 0123456789101112131415161718192021222324252627
并在 Chrome 中返回以下内容(仅循环 24 次):
First
Second
First 0123456789101112131415161718192021222324
谢谢!
你的程序现在试图做的是使第二段包含 2^100 次"第一",因为你复制了重复项,在第一个循环之后你有 2*"第一",然后是 4*"第一"等。这显然会带来内存问题。如果你想让第二段只包含100次"第一",你可以只使用:
<script>
document.getElementById("second").innerHTML =
document.getElementById("first").innerHTML.repeat(100)
</script>
你在那行中弄错了。 你添加word
而不是你必须添加"i"。所以它应该是这样的:
word+=i;
相关文章:
- 对于循环未正确访问 JSON 对象
- 页面对象中的 for 循环未正常运行
- 在每个循环上完成异步调用,然后转到下一个节点 js
- 停止代码,直到 AJAX 调用在 $.each 循环中完成
- 在jQuery就绪函数上未完成Primefaces布局组件
- 添加innerHTML和自动完成未完成的行
- Async.js队列工作程序未完成
- 将for循环从完成延迟到返回API调用
- 如何验证for循环是否完成了node js中的所有迭代,循环是否包含带回调的函数调用
- While循环未将正确的结果推送到数组
- 上的jquery inputmask事件触发器未完成
- Promise.map未完成,因为后续的Promise.ejoin先完成?承诺
- For循环未按预期工作(使用jQuery)
- 如何在包含异步函数的循环之后完成一件事
- Javascript 未完成循环
- 函数在循环前未完成
- Javascript循环未完成
- 对于递归函数中的循环未完成
- 在for循环中切换语句,if语句未完成
- 循环未完成