javascript事件循環和異步測試:javascript
console.log("script start"); setTimeout(function () { console.log("setTimeout"); }, 0); //具體數字不定,這取決於你的硬件配置和瀏覽器 for(var i = 0; i < 1000000; i ++){ //do something } console.log("script end");
var arr = new Array(10000); arr.fill(1); function asyncForEach(array, handler){ var t = setInterval(function () { if(array.length === 0){ clearInterval(t); }else { handler(arr.shift()); } }, 0); } //異步遍歷 asyncForEach(arr, function (value) { console.log(value); }); //同步遍歷 arr.forEach(function (value, index, arr) { console.log(value); });