什么是loadsh这个概念真不知道?但是如果你说防抖和节流那是必须知道,用别的名字我反而不知是何东东。
js call、apply、bind_如花菇凉的博客-CSDN博客
========================还是来总结一下吧====================================
作用
防抖和节流都是用来防止高频率的js代码的执行
防抖:以最后一个停止后超过多长时间触发
// 防抖
export function _debounce(fn, wait) {
const delay = wait || 200
var timer
return function() {
const th = this
const args = arguments
if (timer) {
clearTimeout(timer)
}
timer = setTimeout(function() {
timer = null
fn.apply(th, args)
}, delay)
}
}
节流:规定时间内达到即触发
/**
* 函数节流
* @param fn
* @param interval
* @returns {Function}
* @constructor
*/
export function _throttle(fn, time) {
let last
let timer
const interval = time || 200
return function() {
const th = this
const args = arguments
const now = +new Date()
if (last && now - last < interval) {
clearTimeout(timer)
timer = setTimeout(function() {
last = now
fn.apply(th, args)
}, interval)
} else {
last = now
fn.apply(th, args)
}
}
对于运行时高频操作的浏览器性能是个优化提升的策略。