Dieser Artikel bietet Ihnen eine Einführung in die grundlegenden Implementierungsmethoden der Drosselklappe und der Entprellung. Ich hoffe, dass er Ihnen als Referenz dienen wird.
Drosselklappendrossel
Ausgelöste Ereignisse werden in regelmäßigen Abständen und nicht in Echtzeit ausgeführt. Wie ein tropfender Wasserhahn.
function throttle (fn, delay) { // 利用闭包变量时效性 let timeout let arg return function () { arg = arguments if (!timeout) { timeout = setTimeout(() => { fn.apply(this, arg) timeout = null }, delay) } } } // demo /* var test = throttle(function (a) {console.log(a)}, 1000) test(1) // 不执行 test(2) // 不执行 test(3) => 3 test = null // 不需要时释放内存 */
Entprellung entprellen
N Millisekunden nach dem letzten ausgelösten Ereignis, z. B. einer Aufzugstür, ausgelöst.
function debounce (fn, delay){ let timeout return function(){ const args = arguments clearTimeout(timeout) timeout = setTimeout(() => { fn.apply(this, args) }, delay) } } // 用法同throttle
Das obige ist der detaillierte Inhalt vonEinführung in die grundlegenden Implementierungsmethoden der Drosselklappe und Entprellung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!