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


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

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

例如:

<script type="text/javascript">

     var  t=3,timer;
     function  sleep(){
         if (t<=0){
             clearTimeout(timer);
             alert( "over" );
             //一定要return,不然下面又創建了新的定時器
             return ;
         }
         alert( "hello" );
         t--;
         timer = setTimeout( "sleep()" , 1000);
     }
     sleep();
</script>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM