Heim > Web-Frontend > js-Tutorial > Hauptteil

Einführung in die grundlegenden Implementierungsmethoden der Drosselklappe und Entprellung

不言
Freigeben: 2019-04-13 11:53:00
nach vorne
2209 Leute haben es durchsucht

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 // 不需要时释放内存
*/
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage