Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
  <button id='button1'>防抖</button>
  <button id='button2'>节流</button>
</body>
</html>
 
var button1 = document.getElementById('button1')
var button2 = document.getElementById('button2')
button1.addEventListener('click', debounce(test, 1000, '防抖'))
button2.addEventListener('click', throttle(test, 1000, '节流'))
function test(a) {
  console.log(a, '--点击成功了')
}
function debounce(fn, delay, ...args) {
  var timer = null
  return function () {
    clearTimeout(timer)
    timer = setTimeout(() => {
      fn.apply(this, args)
    }, delay)
  }
}
function throttle(fn, delay, ...args) {
  var prev = Date.now()
  return function () {
    var now = Date.now()
    if (now - prev >= delay) {
      fn.apply(this, args)
      prev = Date.now()
    }
  }
}
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers