防抖和节流原理是使用闭包和延时器

防抖:

前面所有触发都被取消,最后一次在规定时间之后才会触发,如果连续触发只会执行一次。防抖使用debounce


例如:比如input框搜索内容,oninput事件输入框内的值变化就会触发,使用lodash插件里面封装好的debounce方法控制它输入完才发送请求,_代表lodash函数对象,debounce是它其中的一个方法

//原生js
	input.oninput=_.debounce(function(){
		//axios请求
},1000)

节流

在规定时间间隔内不会重复触发回调,只有大于时间间隔才会触发,频繁触发变为少量触发。节流使用throttle方法


例如:点击按钮的计数器,多级分类鼠标滑过显示,点击切换轮播图

//计数器,//无论点击多少次,在一秒内只会加一
button.click = _throttle(function(){
	this.count++
},1000)

//多级分类
//在vue中使用ES5写法
import throttle from 'lodash/throttle'
methods:{
//ES6写法
事件(){
	逻辑
}
//ES5写法
	事件:throttle(function(){
	逻辑
},时间)
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值