【发布时间】:2015-03-21 00:33:35
【问题描述】:
我正在考虑改进我们的一些 for each 循环,并创建了一个测试基准来比较我们使用它们的不同方式。测试可以found here。
我惊讶地发现这段代码:
function add(val) {
sum += val;
}
values.forEach(add);
比这个表现更好。
values.forEach(function(val) {
sum += val;
});
这些不完全一样吗?是什么让第一个代码 sn-p 比第二个代码快?
【问题讨论】:
-
在我的电脑上都很快。在 0.055 和 0.053 秒内 56 次
-
这是因为函数声明通常比函数表达式快:jsperf.com/function-declaration-vs-function-expression.
-
@AaditMShah 这很有趣!
标签: javascript performance-testing