0

window.onThis();コードがバックグラウンドでループして実行されるように設定できる関数はありますか?

window.onload = function() {while(true) {console.log("Blah")}}

これにより、ページが応答しなくなります。これを行うための推奨される方法は何ですか?

何かが頭をよぎる気がします。おそらく私はそれを間違った方法で見ています。

4

2 に答える 2

2

Javascript は一度に 1 つのスレッドしか実行できないため、console.log ("Blah")可能な限り高速に実行し続けると、他のことを行うことができなくなります。

より良い方法は、使用することですsetInterval

var a  = setInterval(function () { console.log("blah"); }, 1000);
// Set the function to be called every 1000 milliseconds

//(optional) some time later
clearInterval(a);
// Stop the function from being called every second.

一般に、ビジーな無限ループ ( while (true) { ... }) は決して良い考えではありません。

https://developer.mozilla.org/en-US/docs/Web/API/window.setIntervalを参照してください

于 2013-08-04T22:23:30.327 に答える
0

無限ループを作成したため、ページが応答しなくなります。while ループ条件は常に true になるため、ループの実行が停止することはありません。

setInterval() を探していると思います。ここを参照してください https://developer.mozilla.org/en-US/docs/Web/API/window.setInterval

于 2013-08-04T22:23:35.727 に答える