函数防抖与节流
函数防抖和函数节流两者都是优化高频率js代码执行的一种手段
函数防抖
在搜索框识别、用户名密码验证等场景下,可以使用函数防抖来减少计算,节省性能,使用户有更好的体验
代码如下,执行一次防抖函数debounce会定义一个定时器,在一定时间后执行传入的处理函数handle,如果再次执行函数防抖则会覆盖上次的定时器。
1 | function debounce(handle, delay) { |
函数节流
类似淘宝购物场景多次点击,或者通过页面视口变化改变根节点字体大小等场景,可以将多个访问缩减为一个访问,这时用节流函数可以提升用户体验
代码如下,主要为计算上一次执行处理函数handle与当前执行节流函数throttle的时间间隔,超过一个时间段才允许再次运行处理函数。
1 | function throttle(handle, wait) { |