在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ HTML/ 淺談 JavaScript 函數(shù)節(jié)流
淺談 JavaScript 之事件綁定
淺談 javascript 中字符串 String 與數(shù)組 Array
淺談 javascript 中基本包裝類型
淺談 JavaScript Math 和 Number 對象
淺談 Javascript 的靜態(tài)屬性和原型屬性
淺談 JavaScript 中定義變量時有無 var 聲明的區(qū)別
淺談 JavaScript Array 對象
淺談 JavaScript 函數(shù)參數(shù)的可修改性問題
淺談 javascript 中的 instanceof 和 typeof
淺談 JavaScript 中 Date (日期對象),Math 對象
淺談 Javascript 執(zhí)行順序
淺談 javascript 函數(shù)屬性和方法
淺談 JavaScript 中面向?qū)ο蠹夹g(shù)的模擬
淺談 javascript 的原型繼承
淺談 javascript 事件取消和阻止冒泡
根據(jù)一段代碼淺談 Javascript 閉包
淺談 Javascript 面向?qū)ο缶幊?/span>
淺談 javascript 六種數(shù)據(jù)類型以及特殊注意點
淺談 Javascript 變量作用域問題
淺談 javascript 函數(shù)內(nèi)部屬性
淺談 javascript 中自定義模版
淺談 JavaScript 字符集
淺談 javascript 面向?qū)ο缶幊?/span>
淺談 JavaScript 框架分類
淺談 JavaScript 中的 Math.atan() 方法的使用
淺談 Javascript 數(shù)組與字典
淺談 JavaScript 數(shù)據(jù)類型及轉(zhuǎn)換
淺談 javascript 的調(diào)試
淺談 Javascript 嵌套函數(shù)及閉包
淺談 javascript 回調(diào)函數(shù)
淺談 JavaScript Date 日期和時間對象
淺談 Javascript 中的 Function 與 Object
淺談 JavaScript 數(shù)據(jù)類型
淺談 javascript 中 this 在事件中的應(yīng)用
淺談 javascript 中的閉包
淺談 javascript 函數(shù)劫持
淺談 Javascript 中深復(fù)制
淺談 JavaScript 函數(shù)節(jié)流
淺談 JavaScript 中的 String 對象常用方法
淺談 JavaScript 事件的屬性列表
淺談 JavaScript 函數(shù)與棧
淺談 JavaScript 的事件
淺談 javascript 中的作用域
淺談 JavaScript 的執(zhí)行效率
淺談 Javascript 事件模擬
淺談 JavaScript function 函數(shù)種類
淺談 javascript 歸并方法
淺談 javascript 迭代方法
淺談 JavaScript 編程語言的編碼規(guī)范
淺談 JavaScript 實現(xiàn)面向?qū)ο笾械念?/span>
淺談 Javascript 鼠標(biāo)和滾輪事件
淺談 Javascript Base64 加密解密
淺談 Javascript 中勻速運(yùn)動的停止條件
淺談 javascript 實現(xiàn)八大排序
淺談 javascript 的分號的使用
淺談 javascript 中 createElement 事件
淺談 javascript 的數(shù)據(jù)類型檢測
淺談 javascript 對象模型和 function 對象
淺談 Javascript 如何實現(xiàn)勻速運(yùn)動
淺談 JavaScript 字符串與數(shù)組
淺談 javascript 面向?qū)ο蟪绦蛟O(shè)計
淺談 Javascript 事件處理程序的幾種方式

淺談 JavaScript 函數(shù)節(jié)流

瀏覽器中某些計算和處理要比其他的昂貴的多。例如,DOM 操作比起非 DOM 交互需要更多的內(nèi)存和 CPU 時間。連續(xù)嘗試進(jìn)行過多的 DOM 相關(guān)操作可能會導(dǎo)致 瀏覽器掛起,有時候甚至?xí)罎?。尤其?IE 中使用 onresize 事件處理程序的時候容易發(fā)生,當(dāng)調(diào)整瀏覽器大小的時候,該事件連續(xù)觸發(fā)。在 onresize 事件處理程序內(nèi)部如果嘗試進(jìn)行 DOM 操作,其高頻率的更改可能會讓瀏覽器崩潰。

函數(shù)節(jié)流背后的基本思想是,某些代碼不可以在沒有間斷的情況連續(xù)重復(fù)執(zhí)行。第一次調(diào)用函數(shù),創(chuàng)建一個定時器,在指定的時間間隔之后運(yùn)行代碼。當(dāng)?shù)诙握{(diào)用 該函數(shù)時,它會清除前一次的定時器并設(shè)置另一個。如果前一個定時器已經(jīng)執(zhí)行過了,這個操作就沒有任何意義。然而,如果前一個定時器尚未執(zhí)行,其實就是將其 替換為一個新的定時器。目的是只有在執(zhí)行函數(shù)的請求停止了一段時間之后才執(zhí)行。

function throttle (method , context){  

                clearTimeout (method.tId);  

                method.tId = setTimeout ( function () {  

                     method.call (context);  

                 } , 100);  

          }  

應(yīng)用舉例:

假設(shè)有一個 <div/> 元素需要保持它的高度始終等同于寬度,可作如下編碼:

function resizeDiv(){  

                var div = document.getElementById("mydiv");  

                div.style.height = div.offsetWidth + "px";  

            }  

           window.onresize = function(){  

                throttle(resizeDiv);  

            }  

這里,調(diào)整大小的功能被放入了一個叫做 resizeDiv 的單獨函數(shù)中,然后 onresize 事件處理程序調(diào)用 throttle()并傳入 resizeDiv 函數(shù),而不是直接調(diào)用 resizeDiv()。多數(shù)情況下,用戶是感覺不到變化的,雖然給瀏覽器節(jié)省的計算可能非常大。