Javascript計時器


#計時器
#setTimeout
#setInterval


1.特定時間後執行function:setTimeout
    用法:setTimeout(function,時間)
    例子:
    function exOne(){
        doSth...
   }
    setTimeout(exOne,1000);

    *小tip:
      a.在setTimeout裡面的function不加小括號,因為不希望立即執行,而是由計時器執行
      b.時間單位為毫秒

  *清除計時器:
      clearTimeout(計時器)
      例子:
      function exTwo(){
      doSth
      }
      var timer = setTimeout(exOne,1000);
      clearTimeout(timer);
    *重複執行:呼叫自己
      例子:
      var count=10;
      function exThree(){
       count-=1;
        if (count>0){
        setTimeout(exThree,1000);
        }    
      }
        倒數計時的寫法,執行例三,如果count大於零,則一秒後執行例三,於是例三又再判斷count,然後一秒後又執行例三,直到count變成零不再執行
2.間格特定時間不斷執行:setInterval
    用法:setTimeout(function,時間)
    例子:
    function exFour(){
        doSth
    }
    setInterval(exFour,1000);
    *小tip:在清除之前,會不斷每隔一秒就執行例四
    *清除:clearInterval
        例子:
        var count=10;
        function exFive(){
            count-=1;
            if (count<=0){
                clearInter(timer);
            }
        }
        var timer= setInterval(exFive,1000);
        倒數計時的寫法,setIterval開始執行例五,如果count小於等於零,則清除計時器//if count<=0的地方意思為:等於零的時候清除,不是等於一的時候清除。//setTimeout是在count等於一的時候還要再執行,下一次等於零的時候就不執行了。
3.clear的運作:
    不管是setTimeout 還是 setInterval 都有返回值Id,為一個正整數值,對應一個計時器。
    所以 var tmp = setTimeout(),是取得返回值,接著用clear的函式去清除這個值,也就是清除計時器。




留言