亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JavaScript函數節流的兩種寫法

2019-11-19 16:54:15
字體:
來源:轉載
供稿:網友

最近看了函數節流的相關內容,具體什么是節流我不討論了,網上很多,這里總結下兩個方法,我只認可其中一個。另一個貌似也能達到節流的效果但是感覺不是很正規。

方法一:

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>函數節流</title> <style> div{  font-size:40px;  color:red;  text-align: center; } </style></head><body><div>0</div> <script>var a=0; var oDiv=document.getElementsByTagName('div')[0]; var throttle=function(fn,wait){ var startTime=new Date(); return function(){  var arg=arguments;  var context=this;  var curTime=new Date();  // 如果達到了規定的觸發時間間隔,觸發 handler  var remaing=wait-(curTime-startTime)  if(remaing<=0||remaing>wait){//按理說remaing足夠證明已經到了時間間隔,但是為了防止客戶端修改了時間所以加個條件(為什么這么加我也不懂)  fn.apply(context,arg);  startTime=curTime;  } }; }; window.onmousemove=throttle(function(){  a++;  oDiv.innerText=a+""; },2000); </script></body></html>

我比較認可這個方法,另外這是簡潔版,還有一種可以是這樣子的

function throttle(fun, delay, time) {  var timeout,    startTime = new Date();  return function() {    var context = this,      args = arguments,      curTime = new Date();    clearTimeout(timeout);    // 如果達到了規定的觸發時間間隔,觸發 handler    if (curTime - startTime >= time) {      fun.apply(context, args);      startTime = curTime;      // 沒達到觸發間隔,重新設定定時器    } else {      timeout = setTimeout(function(){       fun.apply(context, args);      }, delay);    }  };};

就是在判斷完時間間隔后再加個計時器來延遲,這個我覺得加不加都行,加了也沒錯跟時間判斷互補,不加也能實現節流的效果。

第二類寫法:

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>函數節流</title> <style> div{  font-size:40px;  color:red;  text-align: center; } </style></head><body><div>0</div> <script> var a=0; var oDiv=document.getElementsByTagName('div')[0]; var throttle=function(fn,time){  var timer=null;  return function(){  var arg=arguments;  var context=this;  if(timer){   return false;  }  else{  timer=setTimeout(function(){   clearTimeout(timer);   timer=null;   fn.apply(context,arg);  },time);  } }; }; window.onmousemove=throttle(function(){   a++; oDiv.innerText=a+"";  },2000); </script></body></html>

這種寫法通過判斷是否存在正在進行的計時器來決定是否執行函數,存在就結束運行函數,但是那個計時器仍在隊列里進行實踐一到還會執行,通過運行也能達到節流,也就是間隔固定的時間觸發函數,但是我就是不太喜歡這種寫法。可能是這種方法沒第一種直接吧。 

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品国产综合久久香蕉最新版| 欧美噜噜久久久xxx| zzijzzij亚洲日本成熟少妇| 国产999在线| 97国产在线视频| 在线成人免费网站| 亚洲欧洲国产一区| 欧美日韩国产区| 国产精品白丝av嫩草影院| 国产精品免费电影| 国产精品第8页| 欧美大片在线看免费观看| 在线电影欧美日韩一区二区私密| 欧美成年人视频网站| 蜜臀久久99精品久久久久久宅男| 国产精品视频专区| 国产精品视频内| 91精品国产色综合久久不卡98| 久久久av一区| 国产+人+亚洲| 欧美一区第一页| 色播久久人人爽人人爽人人片视av| 91成人性视频| 激情懂色av一区av二区av| 国产精品中文久久久久久久| 91免费综合在线| 久久国产精品久久久| 在线视频日本亚洲性| 国产热re99久久6国产精品| 国产欧美在线播放| 91精品国产高清自在线看超| 91极品视频在线| 欧美成人国产va精品日本一级| 亚洲视频777| 欧美在线视频网| 亚洲欧美激情视频| 国产精品美女免费看| 亚洲激情第一页| 中文字幕亚洲无线码在线一区| 亚洲va电影大全| 国产成人avxxxxx在线看| 欧美日韩国产精品一区二区三区四区| 国产欧美日韩中文字幕在线| 成人性生交大片免费观看嘿嘿视频| 亚洲精品免费在线视频| 97精品久久久中文字幕免费| 亚洲一区美女视频在线观看免费| 疯狂欧美牲乱大交777| 91免费看片在线| 国语对白做受69| 91成人性视频| 国产一区二区三区精品久久久| 另类色图亚洲色图| 久热精品视频在线| 久久视频中文字幕| 超碰97人人做人人爱少妇| 久久久久久久久久国产精品| 日韩av免费在线播放| 久久久av网站| 亚洲精品99久久久久中文字幕| 久久久精品欧美| 九九热这里只有精品6| 欧美三级免费观看| 91精品国产综合久久香蕉922| 国产精品一区二区三| 国产精品久久久久久久久免费| 国内精品久久久久久| 欧美成年人视频网站欧美| 国产精品亚洲аv天堂网| 亚洲丁香婷深爱综合| 91免费视频国产| 国产成人精品一区二区| 午夜精品国产精品大乳美女| 97av在线影院| 亚洲乱码国产乱码精品精天堂| 欧美成人精品一区二区| 亚洲免费小视频| 成人黄色免费在线观看| 久久久久久久999精品视频| 久久久久国产精品免费| 久久九九热免费视频| 97视频在线观看亚洲| 精品美女久久久久久免费| 欧美在线观看网址综合| 91精品国产自产在线| 国语自产精品视频在线看| 国产日韩欧美影视| 日韩一区二区欧美| 欧美激情一级精品国产| 久久久久日韩精品久久久男男| 日韩毛片中文字幕| 欧美国产日韩中文字幕在线| 久久久久久中文字幕| 精品人伦一区二区三区蜜桃免费| 亚洲欧洲av一区二区| 亚洲片国产一区一级在线观看| 成人中文字幕+乱码+中文字幕| 国产伦精品一区二区三区精品视频| 成人激情av在线| 国产午夜精品久久久| 久久久久国产精品www| 日本精品久久久久久久| 成人黄色免费在线观看| 国产精品热视频| 亚洲国产美女久久久久| 在线看片第一页欧美| www.久久色.com| 欧洲s码亚洲m码精品一区| 国内精品国产三级国产在线专| 国产成人97精品免费看片| 国产成人精品综合久久久| 精品国产一区二区三区四区在线观看| 亚洲福利在线看| 亚洲免费成人av电影| 国产成人精品a视频一区www| 国产精品视频久| 中文日韩在线视频| 97碰碰碰免费色视频| 久久99精品久久久久久琪琪| 国内精品一区二区三区| 国产第一区电影| 91在线视频导航| 亚洲免费高清视频| 久久久久这里只有精品| 欧美成年人视频网站| 亚洲精品狠狠操| 日韩欧美国产中文字幕| 成人在线一区二区| 国产成人精品一区二区| 日韩av在线网站| 日韩成人在线观看| 欧美乱大交xxxxx另类电影| 日韩欧美一区二区在线| 久久精品青青大伊人av| 国产成人精品在线观看| 国产日韩在线视频| 中文字幕在线看视频国产欧美在线看完整| 福利微拍一区二区| 日韩av在线免费观看| 国产精品久久久久77777| 亚洲视频电影图片偷拍一区| 91av在线视频观看| 国产精品欧美风情| 欧美电影电视剧在线观看| 亚洲精品v天堂中文字幕| 日韩高清人体午夜| 中文字幕自拍vr一区二区三区| 国产精品av网站| 国产视频欧美视频| 九九热这里只有精品6| 日韩av免费观影| 欧美电影院免费观看| 欧美精品videosex性欧美| 亚洲精品动漫100p| 久久亚洲一区二区三区四区五区高| 亚洲国产精品大全| 中文字幕9999| 日韩高清免费观看| 色小说视频一区| 大量国产精品视频| 久99久在线视频| 国产精品福利在线观看网址| 亚洲va久久久噜噜噜久久天堂| 久久成人18免费网站|