我可以做,
var arr = [];
arr.forEach(function(i) {
i;
});
for (var i = 0, length = arr.length; i < length; ++i) {
arr[i];
}
我应该何时使用另一个,是否存在性能差异?
答案 0 :(得分:7)
您可以在以下情况下使用foreach:
最后一点是主要区别:foreach在副本上工作,所以即使你改变了元素,数组也保持不变,并且可以迭代而没有缺陷。
由于必须复制数据,因此该副本使foreach稍微慢一些。请记住,一些旧的或罕见的浏览器不支持foreach,但它们支持“for”。除非您的阵列真的大(10.000 +项目),否则请忽略速度差异。它在几毫秒内。
您可以随时使用