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>