很多時候,需要在頁面上展示從后臺來的大量數據,如果一次性渲染,會影響用戶的體驗。(而且瀏覽器中的JS嚴格限制了資源)
/*
*使用分組的思想來渲染大量的數組
*@parmas array 要處理的數組
*@params process 對數組中每一個item進行的操作
*@parmas context 執行的上下文
*/
function chunk(array, process, context){setTimeout(function(){var item = array.shift();process.call(context, item);if (array.length > 0){setTimeout(arguments.callee, 100);}}, 100);
}
// 定義數組
var myArray = [12, 123, 123, 4324, 412314 , 43241,341,3241] // 隨便弄的一個數組
function myProcess(item){var div = document.getElementById("myDiv");div.innerHTML += item + "<br>";
}
// 調用上面的chunk函數
chunk(myArray, myProcess);
詳情參考《JavaScript高級程序設計》(第3版) P613