2013-08-04 60 views
0

是否有某種window.onThis();函數,我可以設置,以便我的代碼在後臺循環運行?Javascript的後臺運行代碼

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

這會使頁面無響應。推薦的方法是什麼?

我覺得有些事情已經過去了。也許我看錯了方式。

+2

http://en.wikipedia.org/wiki/Web_worker – Musa

回答

2

Javascript一次只能運行一個線程,所以當它以最快的速度運行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

+0

如何使用Javascript /帆布遊戲更新如此之快?他們做什麼來更新每一幀的顯示,但沒有滯後頁面? –