ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 手写函数节流 函数节流:将原本1秒可能执行10次的函数,节流成1秒只执行2次-3次,有许多函数需要节流,例如: 1. `window.onresize`事件 2. `mouseover`事件 3. `scroll`事件 4. 其他事件 ``` function throttle(fn, intervel) { var timer = null var fristTime = true var _self = fn return function() { var that = this var args = arguments // 判断是否第一次执行 if (fristTime) { _self.apply(that, args) return fristTime = false } // 判断定时器是否执行完毕 if (timer) { return false } // 设置定时器 timer = setTimeout(function() { clearTimeout(timer) }, intervel || 1000) } } // test window.onresize = throttle(function() { console.log('window onresize'); }, 500) ```