数据遍历性能安全考虑

循环语句是程序最基本的语法,但往往容易出现让你意想不到的死循环,为之在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;

 

posted @ 2015-06-29 23:03  Lianer  阅读(192)  评论(0编辑  收藏  举报

Lianer