为什么角度增量而不是angular.forEach中的减量?

时间:2015-01-12 22:18:40

标签: javascript angularjs

我正在查看角度1.3.4中angular.forEach的代码,它看起来像以下......

function forEach(obj, iterator, context) {
  ...
      for (key = 0, length = obj.length; key < length; key++) {
        if (isPrimitive || key in obj) {
          iterator.call(context, obj[key], key, obj);
        }
  ...
  return obj;
}

但根据this link,使用减量更快。那么我应该切换到一个纯JavaScript的循环?如果性能问题,为什么Angular团队会增加?或者是否有一种方法(缺少重写)来获得angular.forEach来做到这一点?

1 个答案:

答案 0 :(得分:1)

我使用_.forEach代替,Angular的功能很慢(特别是angular.copy)。正如评论所说,时间差异很小。但是,如果你正在处理像我一样的企业数量的数据,_。forEach工作得很好(这比看一个讨厌的旧学校循环要好得多)。希望有所帮助。 Here are is a link that tests the JS performance for 'for' loops from multiple libraries.

Here's the link for underscore (i.e. _)