声明for循环变量最佳实践

时间:2018-03-01 15:48:32

标签: javascript coding-style

我的问题更多是关于for-loop风格的好奇心问题。 在阅读其他人的旧代码时,我遇到了一种我以前见过的风格。

var declaredEarlier = Array
for(var i=0, length=declaredEarlier.length; i < length; i++) {
    //stuff
}

我从未见过在使用之前声明长度,因为这是一个旧的应用程序,这种风格是C / C ++ /旧的Java结转吗?或者这个开发者是独特的? 以这种方式声明长度而不是按照我通常做的方式有任何好处:

for(var i=0; i < declaredEarlier.length; i++) {
    //stuff
}

如果之前有人询问,我找不到它。如果它不适用stackoverflow,哪个论坛会更好问?

2 个答案:

答案 0 :(得分:3)

有两个原因可以像你那样预先掌握长度:

  1. 如果长度可能会发生变化(请记住,JavaScript数组aren't really arrays *及其长度不固定)并且您要使用原始限制循环的长度,或

  2. 为避免反复查找对象的长度,因为您知道它不会改变

  3. 第一个显然是实质性的;第二种是风格和/或微观优化。

    *披露:这是我贫血小博客上帖子的链接。

答案 1 :(得分:1)

对于第一种样式,declaredEarlier的值可以更改,因此您需要使用它 喜欢那个length=declaredEarlier.length

但是对于第二种风格,你已经知道了再次计算它所不需要的值