定時器的作用:
????????每隔一段時間或者延遲一段時間萍诱,執(zhí)行一段指定的代碼。
定時器的分類:
? ? 1.延遲定時器 setTimeout? ?(timeout超時)
????2.間隔定時器 setInterval? ? (interval間隔)
清除(關閉)定時器:
? ??clearTimeout(index);
????clearInterval(index);
定時器管理:
????養(yǎng)成一個好習慣確保單個效果中污呼,只有一個定時器在執(zhí)行裕坊,下面是兩種管理方法
????1.?在定時器開啟之前,確保定時器是關閉的? ? (清楚定時器)
????2.?判斷定時器如果已經(jīng)開啟了燕酷,就先不開啟? ?(設置開關)
每個定時器都會有一個返回值(id)
定時器的問題
????1.定時器里的this指向
????????????定時器?是?js本身就定義好的函數(shù)籍凝,它不是我們自己去定義的,它被定義在了window下面
????????????定時器中的this都是指向window苗缩,因為定時器是通過window進行調用的
????2.一個參數(shù)不推薦使用字符串
????3.time參數(shù)默認為0饵蒂,但并不會馬上執(zhí)行,要大于4ms酱讶,推薦16ms以上
????4.關于傳參的問題苹享,有小括號會立即執(zhí)行,定時器失效浴麻,解決辦法用匿名函數(shù)包一下