数据遍历性能安全考虑
循环语句是程序最基本的语法,但往往容易出现让你意想不到的死循环,为之在each函数上做限制,避免死循环。
控制台中运行查看结果:
function each(arr, fn){ var maxTimes=1e7; var curTimes=0; var length=arr.length; for(var i=0; i<length; i++) { fn(arr[i]); if(++curTimes>maxTimes){ console.error("数组长度超出"); break; } } } // do test var n=0; each(new Array(1e7+1), function(m){ n++; });n;