我在javascript中看到的大多数循环示例都使用for循环本身的array.length
属性,如下所示:
var numbers = [1,2,3,4,5];
for (var i = 0; i < numbers.length; i++) {
// do something
}
但是,有时我看到array.length
属性被写入变量,然后变量值在循环中使用,而不是:
var numbers = [1,2,3,4,5];
var len = numbers.length;
for (var i = 0; i < len; i++) {
// do something
}
来自C#背景,我从来没有担心过这个问题。但是,在Javascript中,第二种方法更有效,为什么呢?
答案 0 :(得分:1)
第二种方法更有效,因为它不必对任何东西进行操作。首先,它每次都必须引用一个数据单元。