实现一个简单的节流函数
//将业务代码与节流代码剥离出来
//节流函数
function throttle(fn, delay) {
//创建节流函数 fn将调用下面的fn(),delay是设置节流间隔时间
let prev = Date.now()
//开始时间
return function() {
let now = Date.now()
//当前时间
if (now - prev >= delay) {
fn.apply(this, arguments[0])
//apply改变this的指向, 触发业务代码(鼠标事件)
prev = Date.now()
//当进入下一个时间频率
}
}
}
document.onmousemove = throttle(fn, 1000)
//鼠标事件调用节流函数,设置节流频率
//业务代码
function fn() {
console.log("+++");
}