什么是防抖和节流
防抖:则是对连续触发的事件,只会执行一次,不管事件触发多少次,都只执行一次。(在防抖里设置的时间可以说是对连续触发时间的定义,在设置时间内运行的事件就被称为连续触发的事件) 节流:是指对于连续触发的事件,每隔一段固定时间执行一次,只要事件持续出发就可以执行很多次。(在节流里涉及的时间主要是指事件执行的间隔时间)
防抖函数:
// 防抖:最后一个人说了算。防抖的中心思想在于:我会等你到底。在某段时间内,不管你触发了多少次回调,我都只认最后一次。
// fn是我们需要包装的事件回调, delay是每次推迟执行的等待时间
export function debounce(fn, delay = 200) {
// 定时器
let timer;
// 将debounce处理结果当作函数返回
return function () {
let th = this;
let args = arguments;
// 每次事件被触发时,都去清除之前的旧定时器
if (timer) {
clear