最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js超時調(diào)用setTimeout和間歇調(diào)用setInterval實例分析

 更新時間:2015年01月28日 11:35:18   投稿:shichen2014  
這篇文章主要介紹了js超時調(diào)用setTimeout和間歇調(diào)用setInterval,以實例形式對比分析了setTimeout與setInterval的具體使用技巧,非常具有實用價值,需要的朋友可以參考下

本文實例分析了js超時調(diào)用setTimeout和間歇調(diào)用setInterval的用法。分享給大家供大家參考。具體如下:

今天看了javascript高級程序設(shè)計(第三版)一書,發(fā)現(xiàn)說setTimeout比setInterval更好,覺得的確如此。平時都是用setInterval多點,現(xiàn)在還是轉(zhuǎn)一下思路了。又學習到了。分析如下:

setTimeout包含兩個參數(shù),第一個參數(shù)是要執(zhí)行的代碼,第二個參數(shù)是時間。
第一個參數(shù)可以是字符串也可以是函數(shù),但是推薦使用函數(shù)而不是字符串。
使用字符串相當于eval方法。導致性能損失。

clearTimeout()

超時調(diào)用的代碼都是在全局作用域中執(zhí)行的,因此函數(shù)中this的值在費嚴格模式下指向window對象,在嚴格模式下是undefined

復制代碼 代碼如下:
//setInval

var num = 0;
var max = 10;
var intervalId = null;

function incrementNumber(){
   num++;
   if(num == max){
      clearInterval(innervalId);
      alert('done');
   }
}

intervalId = setInterval(incrementNumber(),500);

//setTimeout 實現(xiàn)相同功能

var num = 0;
var max = 10;
function incrementNumber2(){
   num++;
   if(num < max){
      setTimeout(incrementNumber2,500);
   }else{
      alert('done');
   }
}
setTimeout(incrementNumber2,500);

以上對比可以發(fā)現(xiàn),使用超時調(diào)用時,沒有必要跟蹤超時調(diào)用id,因為每次執(zhí)行代碼之后,如果不再設(shè)置另一次超時調(diào)用,調(diào)用就會自行停止。

一般認為,如果超時調(diào)用用來模擬間歇調(diào)用的是一種最佳模式。

在開發(fā)環(huán)境下,很少真正的間歇調(diào)用,原因是后一個間歇調(diào)用可能會在前一個間隙調(diào)用結(jié)束之前啟動。

最好不要使用間歇調(diào)用。

希望本文所述對大家的javascript程序設(shè)計有所幫助。

相關(guān)文章

最新評論

安平县| 嘉黎县| 军事| 嵊州市| 淅川县| 安多县| 邢台市| 永年县| 义乌市| 九龙县| 佛学| 唐山市| 平谷区| 本溪市| 刚察县| 峨眉山市| 福泉市| 乌兰浩特市| 怀来县| 邹城市| 长治市| 长沙市| 电白县| 中江县| 金沙县| 米泉市| 堆龙德庆县| 宜阳县| 米泉市| 隆尧县| 磴口县| 五常市| 江北区| 永福县| 大埔区| 富平县| 安阳县| 乐业县| 新河县| 奉新县| 芦溪县|