我们为什么要用防抖节流?
首先我们要知道防抖节流是用来做什么的。
浏览器中的某些计算和处理要比其他的昂贵得多,当我们试图用dom操作html页面时,如果是进行很多频繁的Dom操作,这很可能导致浏览器挂起,甚至崩溃。在IE中使用 onresize事件时容易发生这种情况,我们有必要控制js的执行次数,这时候我们的节流和防抖就能发挥用处了。
- 节流: 规定一个单位时间,在这个单位时间内,只能有一次触发事件的回调函数执行,如果在同一个单位时间内某事件被触发多次,只有一次能生效。 例子:电影播放
应用场景:页面的onscroll事件,页面的onscroll事件是一个高频的事件,通过监听页面的scroll事件:
// 函数节流的实现;
function throttle(fn, delay) {
var preTime = Date.now();
return function() {
var context