咦?浏览器又崩了?再试试这个呢!
由于连续进行过多的dom操作,有时候会导致浏览器运行崩溃,尤其是在ie中使用onrise事件处理的程序中有dom操作,高频的修改可能会导致浏览器崩溃,为了绕开这个问题,可以用定时器对函数进行节流。 当别人问你,同学说一下函数节流吧? 你可以告诉他,某些代码不可以在没有间断的情况连续重复执行。第一次调用函数,创建一个定时器,在指定的时间间隔之后运行代码,当第二次调用该函数时,他会清除第一次的定时器并设置另一个。如果前一个定时器已经执行过了,这个操作就没有任何意义。然而如果前一个定时器尚未执行,其实就是将其替换为一个新的定时器。目的是只有在执行函数的请求停止了一段时间之后才执行。 let processor = { timeoutId:null, //实际进行处理的方法 performPrcessing:function() { //实际执行的代码 }, //初始处理调用的方法 process:function() { clearTimeout(this.timeoutId); let that = this; this.timeoutId = setTimeout(function() { that.performPrcessing(); },100) } } 在这里创建一个processor对象,对象还有两个方法process和performProcessing()