Javascript 为什么这种迭代方法更快?
我的问题相对简单。但我怀疑答案将是复杂而有趣的。我有两个在Javascript中迭代循环的片段 片段A:Javascript 为什么这种迭代方法更快?,javascript,performance,Javascript,Performance,我的问题相对简单。但我怀疑答案将是复杂而有趣的。我有两个在Javascript中迭代循环的片段 片段A: //Fast var l = arr.length; for (var x = 0; x < l; x++) { dosmth = arr[x]; } 代码段B明显比代码段A快。为什么?我怀疑这是因为代码段A中有更多的范围或上下文更改。但我找不到任何关于它的文档。要扩展我的评论,后者可能没有进行任何迭代,因为检查是翻转的。在第一个对话框中,您正在检查xl。为了扩展我的评论,后
//Fast
var l = arr.length;
for (var x = 0; x < l; x++) {
dosmth = arr[x];
}
代码段B明显比代码段A快。为什么?我怀疑这是因为代码段A中有更多的范围或上下文更改。但我找不到任何关于它的文档。要扩展我的评论,后者可能没有进行任何迭代,因为检查是翻转的。在第一个对话框中,您正在检查x
var i = array.length;
while (i--) {
dosmth = arr[x];
}
您错过了一个稍微快一点的版本,它只有一个变量和一个隐式检查,但它是反向运行的
var i = array.length;
while (i--) {
dosmth = arr[x];
}
似乎您的逻辑检查被翻转了x