您好,登錄后才能下訂單哦!
這篇文章主要介紹JavaScript高級函數應用之如何使用分時函數,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
具體如下:
一、前提介紹:
某些函數是用戶主動調用的,但因為一些客觀的原因,這些函數會嚴重影響頁面的性能。
二、應用場景:
在短時間內往頁面中大量添加DOM節點顯然會讓瀏覽器吃不消,往往會導致瀏覽器的卡頓甚至假死。
三、解決方案:
以上述添加節點的例子來說明問題,我們將創建節點的工作分批進行,比如把1秒鐘創建1000個節點,改為每隔200毫秒創建8個節點。
四、實現代碼如下:
var timeChunk = function(ary, fn, count){ var obj,t; var len = ary.length; var start = function(){ for(var i=0;i<Math.min(count ||1, ary.length );i++){ var obj = ary.shift(); fn(obj); } }; return function(){ t = setInterval(function(){ if(ary.length === 0){ //如果全部節點都已經被創建好 return clearInterval(t); } start(); }, 200); //分批執行的時間間隔,也可以用參數的形式傳入 }; };
五、調用驗證方法
var ary = ['aa','bb','cc',.....]; var renderFriendList = timeChunk( ary, function(n){ var div = document.createElement('div'); div.innerHTML = n; document.body.appendChild(div); },8); renderFriendList();
以上是“JavaScript高級函數應用之如何使用分時函數”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。