首先了解他们的概念、区别、适用场景,后面有代码
概念:
防抖(debounce):触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间。
函数节流(throttle):高频事件触发,但在n秒内只会执行一次,所以节流会稀释函数的执行频率。****
区别:
防抖:在特定时间内,只要重新触发事件,就会重新计算时间,而在这个时间内只会执行最后一次。
也就是说,你只要一直触发这个事件,他就不会执行,停止后才会执行
节流:特定时间内,无论你出发多少次,在这段时间内,一定会有且仅有一次真正的事件触发
适用场景
防抖:表单提交
节流:页面滚动加载
代码及介绍:
新建一个dome,创建一个点击事件
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="icon" href="data:image/ico;base64,aWNv">
</head>
<body>
<div id='box'>
<button id="btn">
添加
</button>
</div>