关于函数防抖与函数节流
一、概念
函数防抖(debounce):就是指触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间。
eg:坐公交,需要等最后一个人进入才能关门。每次进入一个人,司机就会多等待几秒再关门。
场景:搜索框搜索输入。只需用户最后一次输入完,再发送请求函数节流(throttle):限制一个函数在一定时间内只能执行一次。
eg:坐地铁,过闸机时,每个人进入后3秒后门关闭,等待下一个人进入。
场景:滚动加载、表单重复提交
二、实现原理
函数防抖:
1 |
|
函数节流:
1 |
|
or
1 |
|