【发布时间】:2018-05-11 08:15:12
【问题描述】:
今天我的 cs 课结束时,我的老师向我们展示了这段代码,并要求我们思考为什么它不是最优的。
代码如下:
for (var x = 0; x < array.length; x++) {
console.log(array[x]);
}
我不知道出了什么问题。我认为使用 'forEach' 可能会更好,但我不确定为什么?
Something like this?:
array.forEach(function(element) {
console.log(element);
});
【问题讨论】:
-
在代码行数过多或效率低下的意义上不是最优的?同样使用
forEach,您可以将其缩短为array.forEach(console.log),但这只是代码行更短,它仍然会循环 -
还有一个论点是
forEach()将是内部最优的,因此 JIT 编译器要做的工作更少。此外,您有一个错误,使用x作为循环变量,但使用array[i]作为索引;这在功能性案例中是不可能的。 ;-) 另一方面,您可能会因为手指打滑而将element拼写为emelent,但希望您会收到有关未使用函数参数的警告。 -
好吧,首先,它坏了。您使用
i作为索引,但在迭代器中使用x。但是“最优”很大程度上是基于上下文的——最优如何?快点?阅读更清晰?更正确?更安全?使用最新的语言功能?更可组合? -
对不起,本来是x
标签: javascript arrays