Javascript函数节流的探讨

Javascript函数节流的探讨
在浏览器中的一些计算和处理比其他的贵得多。例如,DOM操作要求比非DOM交互更多的内存和CPU时间。做太多的DOM相关业务不断的尝试可能会导致浏览器挂了,有时甚至崩溃,这是特别容易使用伊江onresize事件处理程序,和事件触发连续当浏览器的大小调整。如果一个DOM操作试图在onresize事件处理程序中,高频率的变化可能导致浏览器崩溃。

在功能节流的基本思想是一些代码不能重复执行无中断。在第一次调用函数,创建一个定时器,指定的时间间隔后运行的代码,当调用函数时的第二次,它清除以前的定时器和设置其他。如果以前的计时器已执行此操作没有任何意义。然而,如果以前的定时器还没有执行,它实际上是由一个新的定时器取代。目的是只有在执行功能的要求已经停止一段时间执行。
复制代码代码如下所示:

函数节流(方法,上下文){

ClearTimeout(方法。TID);

method.tid = setTimeout(){()函数(

method.call(背景);

},100);

}
应用实例:

假设有一个元素需要保持它的高度始终等于宽度,并且可以编码如下:
复制代码代码如下所示:

功能resizediv(){

var div = document.getelementbyid(mydiv );

div.style.height = div.offsetwidth +PX;

}

window.onresize =函数(){

节流阀(resizediv);

}
在这里,调整大小的功能放在一个单独的函数称为resizediv。然后onresize事件处理程序调用节流()介绍了resizediv函数而不是打电话resizediv()直接。在大多数情况下,用户感觉不到变化,虽然浏览器的储蓄可能非常大。

tag:函数节流电脑软件Javascript

相关内容