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