日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

js防抖函數和節流函數使用場景和實現區別示例分析

瀏覽:205日期:2024-05-13 09:21:20

本文實例講述了js防抖函數和節流函數使用場景和實現區別。分享給大家供大家參考,具體如下:

開發過程中,都遇到過某個事件被頻發觸發的場景,比如resize,scroll事件,input事件,而對應的事件處理函數也會被高頻率調用,這時會增加瀏覽器負擔,用戶體驗也不好,這也是防抖函數和節流函數存在的意義和使用場景。

函數防抖(debounce):

持續觸發事件時,在設定時間段內沒有被觸發,才去調用事件處理函數,在設定時間段內如果事件又被觸發,則不調用事件處理函數,并從觸發事件時間重新開始延時。

具體實現:

設計思路:在setTimeout中調用事件處理函數,如果在定時器觸發函數執行之前又觸發函數,清除定時器。

function debounce(fn, timeout){ timeout = timeout || 1000; let timer; return () => { if(timer){ clearTimeout(timer)} timer = setTimeout(() => { fn() },timeout) }} function printEvent(){ console.log(’1121212’)} window.addEventListener(’scroll’,debounce(printEvent,1000),false)

節流函數(throttle) throttle [’θrɑt(ə)l] 油門;節氣門;扼殺

當事件被持續觸發時,在設定時間內只讓事件處理函數觸發一次。

定時器實現模式:定時器在延時時間執行過后,重置為null, 定時器為null時,重新設置定時器,如此循環

//節流函數function throttle(fn, range){ range = range || 1000; let timer; return () => { //console.log(111,typeof timer) if(!timer){ timer = setTimeout( () => {fn()timer = null },range) } }} window.addEventListener(’mousemove’,throttle(printEvent,1000),false)

時間戳實現模式:初始化時獲取時間,每次觸發事件時再次獲取時間,兩次時間間隔等于或大于設定時間,執行事件,初始化時間重置為當前時間,如此循環。

//節流函數 時間戳模式var throttle2 = function(func, delay) {var prev = Date.now();return function() {var context = this;var args = arguments;var now = Date.now();if (now - prev >= delay) {func.apply(context, args);prev = Date.now();}}}

也可以使用時間戳加定時器結合實現:

總結:

函數防抖:在無事件觸發后的設定時間執行事件,將幾次操作合并為一此操作進行。這樣一來,只有最后一次操作能被觸發。

函數節流:使得一定時間內只觸發一次函數。原理是通過判斷是否到達一定時間來觸發函數。

區別: 函數節流不管事件觸發有多頻繁,都會保證在規定時間內一定會執行一次真正的事件處理函數,而函數防抖只是在最后一次事件后才觸發一次函數。

比如在頁面的無限加載場景下,我們需要用戶在滾動頁面時,每隔一段時間發一次 Ajax 請求,而不是在用戶停下滾動頁面操作時才去請求數據。這樣的場景,就適合用節流技術來實現。

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關于JavaScript相關內容可查看本站專題:《JavaScript常用函數技巧匯總》、《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
аⅴ资源天堂资源库在线| 国产白浆在线免费观看| 欧美日韩少妇| 久久国内精品视频| 成人在线视频免费看| 国产精品一区亚洲| 久久国产中文字幕| 91精品国产91久久久久久黑人| 人人香蕉久久| 日韩黄色在线观看| 久久高清精品| 国产日韩欧美三区| 激情综合亚洲| 国产精品久久久久久久久久齐齐| 欧美黄色一区| 麻豆精品视频在线观看免费| 国产精品视区| 国产精品www994| 日本欧美在线看| а√天堂8资源在线| 欧美中文一区二区| 久久影视三级福利片| 免费视频久久| 欧美成人a交片免费看| 欧美激情aⅴ一区二区三区| 欧美日韩国产综合网| 国产精品xxx在线观看| 只有精品亚洲| 欧美日韩国产探花| 欧美精品高清| 亚洲欧美日韩国产综合精品二区| 91免费精品| 国产精品亚洲欧美日韩一区在线 | 91精品电影| 91视频精品| 欧美激情 亚洲a∨综合| 久久精品一区二区国产| 久久一区二区三区喷水| 91一区二区| 里番精品3d一二三区| 日本在线不卡视频一二三区| 久久国产99| 欧美影院视频| 中文字幕日韩高清在线| 亚洲一区二区三区四区五区午夜| 亚洲播播91| аⅴ资源天堂资源库在线| 视频一区中文字幕| 黄色亚洲免费| 激情欧美一区| 欧美日韩18| 在线视频免费在线观看一区二区| 日韩精品欧美| 久久影院午夜精品| 精品网站999| 麻豆91精品视频| 麻豆精品久久| 国产a亚洲精品| 精品一区二区三区中文字幕视频 | 成人午夜精品| 色乱码一区二区三区网站| 精品女同一区二区三区在线观看| 麻豆国产欧美一区二区三区 | 国产精品亚洲四区在线观看| 日韩成人av影视| 欧美亚洲tv| 欧美极品中文字幕| 久久国产生活片100| 日本综合精品一区| 亚洲先锋成人| 91精品国产乱码久久久久久久 | 国产99亚洲| 国产视频亚洲| 欧美综合另类| 日韩一区自拍| 伊人久久亚洲影院| 午夜久久av| 国产精品99久久免费观看| 色乱码一区二区三区网站| 久久久噜噜噜| 91精品国产自产在线观看永久∴| 日韩1区在线| 久久精品国产68国产精品亚洲| 国产精品不卡| 亚洲成人二区| 蜜桃av一区| 国产精品一级| 精精国产xxxx视频在线播放| 中文亚洲欧美| 久久99性xxx老妇胖精品| 欧美日韩亚洲一区| 国产高潮在线| 美女被久久久| japanese国产精品| 精品国产午夜| 中文字幕在线看片| 日韩电影免费网址| 九九精品调教| 欧洲精品一区二区三区| 日韩中文视频| 好吊一区二区三区| 蜜桃视频在线观看一区| 日本vs亚洲vs韩国一区三区二区| 日韩av中文字幕一区二区| 欧美日韩亚洲一区二区三区在线| 欧美色综合网| 欧美91在线| 免费看av不卡| 欧美二区视频| 亚洲天堂日韩在线| 国产日韩免费| 91av亚洲| 欧美女激情福利| 中文精品视频| 日韩av在线播放中文字幕| 蜜桃精品视频| 99tv成人| 视频一区视频二区中文| 一区二区精彩视频| 国产欧美一区二区三区国产幕精品| 国产乱码精品一区二区亚洲| 国产精品精品| 91久久在线| 国产精品天天看天天狠| se01亚洲视频| 亚洲精品动态| 麻豆精品av| 亚洲五月婷婷| 丝袜美腿高跟呻吟高潮一区| 青青草国产精品亚洲专区无| 精品不卡一区| 丝袜美腿亚洲一区| 欧美黄页在线免费观看| 在线日韩中文| 国产麻豆一区二区三区精品视频| 欧美不卡高清一区二区三区| 亚州精品视频| 91综合视频| 日韩高清电影一区| 久久久久一区| 91国内精品| 免费黄色成人| 国产高清精品二区| 99久久精品网| 日韩欧美激情| 91精品国产调教在线观看| 日韩中文av| 久久精品影视| 国产欧美自拍| 国产精品呻吟| 午夜欧美巨大性欧美巨大| 日韩免费精品| 午夜久久tv| 国产精品xx| 91亚洲无吗| 国产一区导航| 欧美一级鲁丝片| 欧美在线91| 日韩一区二区免费看| 国产精品亚洲综合久久| 亚洲一区久久| 久久裸体视频| 精品一二三区| 欧美日韩一区二区高清| 欧美日韩四区| 丝袜诱惑一区二区| 国产精品调教视频| 蜜桃视频在线观看一区| 亚洲不卡av不卡一区二区| 国产精成人品2018| 日韩精品中文字幕吗一区二区| 免费av一区| 国产高清不卡| 欧美国产三级| 色婷婷成人网| 一区在线免费观看| 国产精品字幕| 中文字幕在线官网| 国产精品videossex久久发布| 国产精品日韩久久久| 日本精品不卡| 黑人精品一区| 精品久久精品| 久久av国产紧身裤| 日韩高清中文字幕一区| 免费精品视频| 欧美精品一区二区三区精品| 91一区二区三区四区| 老牛国内精品亚洲成av人片| 国产国产精品| 亚洲黄色中文字幕| 欧美激情视频一区二区三区免费| 亚洲精品国模| 亚洲在线国产日韩欧美| 久久视频精品| 99精品电影| av高清一区| 欧美日韩中文一区二区| 久久亚洲成人| av综合电影网站|