throttle的含义
throttle一般就是我们所有的函数节流的意思。通俗来说就是函数调用的频度控制器间间隔控制。
主要的应用场景比如:
- 鼠标移动,mousemove事件
- dom 元素的动态定位,window对象的resize和scroll事件
var resizeTimer = null;
$(window).on('resize',function() {
if(resizeTimer) {
clearTimeout(resizeTimer);
}
resizeTimer = setTimeout(function() {
console.log("window reszie)
},400)
})
setTimeout 和 clearTimeout 就是一个简单的throttle,很好的控制了resize的调用频率。
debounce
debounce 和 throttle 很像,debounce是空闲时间必须大于或者等于一定值的时候,才会执行调用方法。
debouce是空闲时间的间隔控制。会根据一定的时间间隔重复控制调用执行的方法。
debouce主要的应用场景比如:
- 文本的输入keydown 事件、 keyup 事件
网友评论