如何在 javascript 中进行无限循环

how do an infinite loop in javascript

我试图在 0 到 100 和 100 到 0 之间使用 while 进行无限循环,但浏览器崩溃了。有没有办法清除浏览器内存?这是我的代码:

var a = 0;
var flag = true;

while (true) {

    if (a < 100 && flag == true) {

        a++;

    } else {

        a = 0;
        flag = false;

        if (a < 0) {
            flag = true;
        }

    }

    console.log(a);

}

你只需要一个无限循环?如果是这样就做

for(var i = 0; i < 1;){
  console.log('infinite');
};

如果你需要一段时间

var = 0;
while(var < 1){
  console.log('looOOoOOoOoOp');
};

无限循环会阻塞主线程,相当于崩溃。 您可以使用自调用函数(让主线程在其间做一些其他事情):

(function main(counter){
    console.log(counter);
    setTimeout(main,0,counter+1);
})(0);

您可以放置​​一个从 0 到 100 的循环,以及一个从 100 到 0 的循环,而不会过多地阻塞浏览器:

(function main(){
    for(var counter=0;counter<100;counter++){
       console.log(counter);
    }
   console.log(100);
    while(counter){
       console.log(--counter);
    }
    setTimeout(main,0);
})();

http://jsbin.com/vusibanuki/edit?console

进一步研究:JS IIFEs函数表达式非阻塞槽 setTimeout。 ..

There is a way to clear the browser memory?

是的。几乎所有浏览器都有一个看起来非常类似于此的小图标:

这叫做"refresh"。如果你使用它,它将 "clear the browser memory".