函式防抖與函式節流

2022-08-19 00:24:11 字數 624 閱讀 8868

(函式防抖)在事件被觸發n秒後再執行**,如果在這n秒內又被觸發,則重新計時。給了使用者思考輸入的時間,減少了不必要的請求

這個紅色框起來的是高階函式,是函式防抖的核心。

我們在輸入框輸入1的時候,他不會馬上就傳送ajax請求,而是過了500之後再發,在這個時間之類,我們可以輸入自己想輸入的,避免傳送沒必要的請求。減小了伺服器壓力。

規定在乙個單位時間內,只能觸發一次函式。如果這個單位時間內觸發多次函式,只有一次生效。

應用場景:(1)滑鼠不斷點選觸發,mousedown(單位時間內只觸發一次);(2)監聽滾動事件,比如是否滑到底部自動載入更多,用throttle來判斷

這個紅色框起來的是高階函式,很好的利用了閉包為函式節流,本次函式節流的核心。

在1000裡面輸入多個值,只會執行一次。單位時間內多次輸入無效。

函式防抖與函式節流

函式防抖 debounce 當呼叫動作過n毫秒後,才會執行該動作,若在這n毫秒內又呼叫此動作則將重新計算執行時間 函式節流 throttle 預先設定乙個執行週期,當呼叫動作的時刻大於等於執行週期則執行該動作,然後進入下乙個新週期 函式節流 throttle 與函式防抖 debounce 都是為了限...

函式節流與函式防抖

這裡以判斷頁面是否滾動到底部為例,普通的做法就是監聽window物件的scroll事件,然後再函式體中寫入判斷是否滾動到底部的邏輯 這樣做的乙個缺點就是比較消耗效能,因為當在滾動的時候,瀏覽器會無時不刻地在計算判斷是否滾動到底部的邏輯,而在實際的場景中是不需要這麼做的,在實際場景中可能是這樣的 在滾...

函式防抖與函式節流

前言 有一些瀏覽器事件我們不希望它很頻繁的觸發,如調整視窗大小 onresize 監聽滾動條滾動 onscroll 如果這些監聽事件需要呼叫介面的話一秒內可能會呼叫上百次,這樣坑定是有問題的。函式防抖 debounce 如果有人進電梯 觸發事件 那電梯將在10秒鐘後出發 執行事件 這時如果又有人進電...