[TOC] #### 1. 防抖是什么 ---- 防抖: 在事件被觸發(fā) n 秒后執(zhí)行回調(diào),如果在這 n 秒內(nèi)又被觸發(fā),則重新計時 防抖的應(yīng)用場景: 輸入框連續(xù)輸入值后,等到最后一次輸入完成才觸發(fā)查詢的動作 #### 2. 輸入框的防抖處理 ---- ```html <input type="text" id="ipt"> ``` ```javascript function input(e) { request(e.target.value) } function request(data) { console.log('請求參數(shù): ', data); } // 防抖函數(shù) function debounce(fun, delay = 200) { let timeout = null return function (...args) { if (timeout) { clearTimeout(timeout) timeout = null } timeout = setTimeout(() => { fun.apply(this, args) }, delay) } } input = debounce(input, 300) document.getElementById('ipt').oninput = input ```