js 函數內部建立的setTimeout調用自身函數

js 函數內部建立的計時器setTimeout調用自身函數,實際上就變成了setInterval,操做不當的話會致使計時器不斷在建立javascript

在本函數內部清除計時器的時候帶上 return ;java

例如:函數

<script type="text/javascript">spa

     var  t=3,timer;
     function  sleep(){
         if (t<=0){
             clearTimeout(timer);
             alert( "over" );
             //必定要return,否則下面又建立了新的定時器
             return ;
         }
         alert( "hello" );
         t--;
         timer = setTimeout( "sleep()" , 1000);
     }
     sleep();
</script>
相關文章
相關標籤/搜索