我的程序应该从第一段开始复制,复制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
谢谢!
答案 0 :(得分:1)
您的程序现在正在尝试使第二段包含2 ^ 100次&#34; First&#34;,因为您复制了重复项,在第一个循环之后您有2 *&#34; First&#34; 34;,然后4 *&#34;第一&#34;这显然会带来记忆问题。如果你想让第二段只包含100次&#34; First&#34;你可以使用:
<script>
document.getElementById("second").innerHTML =
document.getElementById("first").innerHTML.repeat(100)
</script>
答案 1 :(得分:0)
你误认为那条线。您添加word
而不是必须添加&#39; i&#39;。
所以它应该是这样的:
word+=i;