声明for循环变量最佳实践

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了声明for循环变量最佳实践相关的知识,希望对你有一定的参考价值。

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

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,哪个论坛会更好问?

答案

有两个原因你可以像前面那样抓住前面的长度:

  1. 如果长度可能会改变(请记住,javascript数组aren't really arrays *及其长度不固定)并且您希望使用原始长度来限制循环,或者
  2. 为了避免反复查找对象的长度,因为你知道它不会改变

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


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

另一答案

对于第一种风格,declaredEarlier的价值可以改变所以你需要像length=declaredEarlier.length一样使用它

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

以上是关于声明for循环变量最佳实践的主要内容,如果未能解决你的问题,请参考以下文章

Java for 循环最佳实践

MATLAB for 循环索引的最佳实践

Partials vs for 循环——最佳实践

在 for 循环中计数的最佳方法是啥? [复制]

for循环变量声明为 final

JS最佳实践