常用小功能js函数-函数防抖

血红的双手。 提交于 2019-12-05 23:34:44
函数防抖:在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时。这个我经常用到/** * 函数防抖 * fun 需要延时执行的函数 * delayTime 延时时间 * **/export function debounce (func, delay) {  let timer  return function (...args) {    console.log('进来了!')    if (timer) {      clearTimeout(timer)    }    timer = setTimeout(() => {      func.apply(this, args)    }, delay)  }}函数节流:规定一个单位时间,在这个单位时间内,只能有一次触发事件的回调函数执行,如果在同一个单位时间内某事件被触发多次,只有一次能生效
/** * 函数防抖 * fun 需要延时执行的函数 * delayTime 延时时间 * **/
export function throttle(fun, gapTime) {  let _lastTime = null;  return function () {    let _nowTime = + new Date()    if (_nowTime - _lastTime > gapTime || !_lastTime) {      fun();      _lastTime = _nowTime    }  }}let fn = ()=>{  console.log('boom')}setInterval(throttle(fn,1000),10)
 
 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!