js函数节流+防抖

节流:
懒加载、滚动加载、加载更多或监听滚动条位置;
百度搜索框,搜索联想功能;
防止高频点击提交,防止表单重复提交;
//节流函数,只有大于设定的周期才会执行第二次

  function throttle (func, duration) {
      let last = 0
      return function () {
           let now = Date.now()
           if (last && (now - last) < duration) return
           last = now
           func.apply(this, arguments)
      }
  }

  var aa = function(a,b){
    console.log(a+b)      
  }

  var bb = throttle(aa, 30)

  bb(2, 3)

防抖:
搜索框搜索输入。只需用户最后一次输入完,再发送请求;
用户名、手机号、邮箱输入验证;
浏览器窗口大小改变后,只需窗口调整完后,再执行 resize 事件中的代码,防止重复渲染。
//防抖函数,在规定时间内只让最后一次生效

	function debounce(fn, delay) {
		let timer = null;
			return function() {
				clearTimeout(timer); //清除前一次的事件触发
				timer = setTimeout(() => (
					func.apply(this, arguments)
				), delay); //重新设置定时触发事件
			}
	}
	var bb = function(a,b){
	    console.log(a+b)
	}
	
	bb = throttle(aa, 30)
	
	(2, 3)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值