每帧检查Javascript条件

每帧检查Javascript条件,javascript,Javascript,基本上,我的问题很简单,在发布这篇文章之前,我也搜索过类似的问题。我想知道如何让Javascript代码在页面打开时重复执行,而不是让代码运行一次并完成,或者只响应事件处理程序。我非常想要Javascript等价物: $(document).ready(function() { }); 但我不想使用Jquery,因为它效率较低。我想检查每一帧的===条件 setInterval(function(){ var blah = whatever; if (done){

基本上,我的问题很简单,在发布这篇文章之前,我也搜索过类似的问题。我想知道如何让Javascript代码在页面打开时重复执行,而不是让代码运行一次并完成,或者只响应事件处理程序。我非常想要Javascript等价物:

$(document).ready(function() {

});
但我不想使用Jquery,因为它效率较低。我想检查每一帧的===条件

setInterval(function(){
     var blah = whatever;
     if (done){
         clearInterval();
     }
},time_in_milliseconds);

循环根据毫秒参数保持循环。如果你想要一个小于一毫秒的循环,或者是计算机能做的最硬的循环,那么只要一个规则的while(true){}就足够了。

使用SetInterval。。在window.onload函数中

window.onload = function() {            
     function test() {
         alert("test");
     }
     setInterval(test, time_miliseconds);
 }

查一下setInterval()谢谢!你能给我一个快速的代码示例,说明如何将它实际合并到我想要的结果中吗?这是你应该(必须)做的,而不是代码只运行一次就完成或者只响应事件处理程序。如果代码不停地运行,那么页面将冻结。如果使用
setInterval
循环,那么它甚至不是解决任何问题的有效方法。我不知道您在这里做什么,但是每次尝试重复执行相同的代码时,效率都会降低(也就是说jQuery通常比您编写的代码更高)。您可以使用setTimeout(function(){},20);,在帧加载时或加载后几毫秒运行===;?有车架挂钩吗?酷!我将使用它来检查循环中许多元素的onClick处理程序。最后一个问题:假设帧速率为每秒60帧,精确到每秒60帧,那么让它运行的最佳选择是什么?我猜大概是16.6毫秒吧?但是我希望每帧检查一次条件,那么10毫秒就足够了吗//每秒;时间(单位:毫秒)/=60;setInterval是非阻塞的,所以像上面提到的德里克,如果你想做一些游戏,这将是一种方法