摘要:只有別人沒刷卡了,司機才開車。應用場景搜索輸入框監聽和事件,請求次數過于平凡會增加服務器壓力。可以讓用戶內不在輸入內容,才向服務器發起請求。觸發的時候,不斷的調整瀏覽器窗口大小會不斷的觸發這個事件,用防抖來讓其只觸發一次函數方法調用
概念解讀:
在頻繁觸發的情況下,只有足夠的空閑時間,才執行代碼一次。
生活例子:坐公交,就是一定時間內,如果有人陸續刷卡上車,司機就不會開車。只有別人沒刷卡了,司機才開車。
1、搜索輸入框(監聽keyup和keydown事件,請求次數過于平凡會增加服務器壓力。可以讓用戶1s內不在輸入內容,才向服務器發起請求。)
2、window觸發resize的時候,不斷的調整瀏覽器窗口大小會不斷的觸發這個事件,用防抖來讓其只觸發一次
函數方法function debounce(func, wait) { let timeout = null return function() { clearTimeout(timeout) timeout = setTimeout(() => { func.apply(this, arguments) }, wait) } } //調用 function getData() { ... // ajax } documentElement.addEventListener("keyup", debounce(getData, 1000));
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/109002.html
摘要:若時間差大于間隔時間,則立刻執行一次函數。不同點函數防抖,在一段連續操作結束后,處理回調,利用和實現。函數防抖關注一定時間連續觸發的事件只在最后執行一次,而函數節流側重于一段時間內只執行一次。 原博客地址,歡迎star 函數防抖和節流 函數防抖和函數節流:優化高頻率執行js代碼的一種手段,js中的一些事件如瀏覽器的resize、scroll,鼠標的mousemove、mouseover...
摘要:函數防抖的要點,是需要一個來輔助實現,延遲運行需要執行的代碼。若計時期間事件沒有被重新觸發,等延遲時間計時完畢,則執行目標代碼。而非立即執行版指的是觸發事件后函數會立即執行,然后秒內不觸發事件才能繼續執行函數的效果。。 JS中的函數防抖 一、什么是函數防抖 概念:函數防抖(debounce),就是指觸發事件后,在 n 秒內函數只能執行一次,如果觸發事件后在 n 秒內又觸發了事件,則會重...
摘要:而上述兩種方法,就叫做函數的節流和防抖。二函數節流和函數防抖函數節流函數節流函數節流是讓這個函數在間隔某一段時間執行一次。在這個項目中,我認為函數節流和函數防抖都能很好的解決問題。 一 項目需求 最近在做一些小的練手代碼的時候,碰到了一個很常見的問題,當在搜索框中進行搜索的時候,如果快速輸入很多字符的話,搜索框的監聽回調函數會執行很多次,如果回調業務較復雜的話,可能會導致頁面運行緩慢甚...
摘要:隆重請出主角防抖與節流。防抖與節流的異同相同都是防止某一時間段內,函數被頻繁調用執行,通過時間頻率控制,減少回調函數執行次數,來實現相關性能優化。參考文章分鐘理解的節流防抖及使用場景函數防抖和節流 showImg(https://segmentfault.com/img/bVburM8?w=800&h=600); 本篇課題,或許早已是爛大街的解讀文章。不過春招系列面試下來,不少伙伴們還...
摘要:基礎防抖我們現在寫一個最基礎的防抖處理標記事件也做如下改寫現在試一下,我們會發現只有我們停止滾動秒鐘的時候,控制臺才會打印出一行隨機數。 為何要防抖和節流 有時候會在項目開發中頻繁地觸發一些事件,如 resize、 scroll、 keyup、 keydown等,或者諸如輸入框的實時搜索功能,我們知道如果事件處理函數無限制調用,會大大加重瀏覽器的工作量,有可能導致頁面卡頓影響體驗;后臺...
閱讀 649·2021-11-25 09:43
閱讀 1920·2021-11-17 09:33
閱讀 834·2021-09-07 09:58
閱讀 2068·2021-08-16 10:52
閱讀 490·2019-08-30 15:52
閱讀 1730·2019-08-30 15:43
閱讀 996·2019-08-30 15:43
閱讀 2934·2019-08-29 16:41