如何在 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".
我试图在 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".