【发布时间】:2014-12-20 04:46:43
【问题描述】:
我刚刚浏览了今年 ng-europe 会议的一些照片,并注意到一张幻灯片,我认为可能会展示即将到来的 Angular 2 的一些代码。请参见此处:
我不明白的是:
为什么这段代码的作者使用Array.prototype.forEach.call(array, cb) 而不是较短且(在我看来)等效的版本array.forEach(cb)。我能想象到的唯一原因是对性能的影响。
有人知道另一个区别吗?或者我对性能的猜测是否正确?
【问题讨论】:
-
之所以使用
[].forEach.call(arr)主要是为了防止类数组对象(arguments对象、DOM节点列表等)因为Array.prototype不在原型链中而抛出错误那些对象。这是一个非常相似的问题,但从另一方提出:stackoverflow.com/questions/1424710/… -
@澳洲航空。感谢您的回答。但是你为什么把它作为评论而不是答案呢?
标签: javascript angularjs foreach