/\.(.*)\\/
正如你所看到的,num从10开始,直到2000万。但是,这个程序在我的电脑上不起作用。运行此代码几秒后,我的计算机就冻结了。 2000万是非常大的价值,javascript无法处理或他们是浏览器内存问题,我不知道。如果我在c中运行相同的逻辑,它确实有效。这有什么问题?
<script>
var num=10;
while(num<=20000000){
document.write(num+'<br/>');
num++;
}
</script>
答案 0 :(得分:2)
这里的真正瓶颈是浏览器渲染。不要忘记你要向DOM添加大量数据,而这些数据都必须处理。
如果您只想尝试循环并在Javascript中玩游戏,可能更好的选择是使用NodeJS,您可以在浏览器环境之外运行程序
var timerLabel = 'running_loop';
function loop() {
var num = 5;
while (++num < 20000000) {
}
}
// starts a timer
console.time(timerLabel);
loop();
// marks in ms how long the operation took
console.timeEnd(timerLabel);
&#13;