Heim  >  Artikel  >  Web-Frontend  >  Einführung in die grundlegenden Implementierungsmethoden der Drosselklappe und Entprellung

Einführung in die grundlegenden Implementierungsmethoden der Drosselklappe und Entprellung

不言
不言nach vorne
2019-04-13 11:53:002197Durchsuche

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen