forループ

for文を回すとき、いつもだと
  

for (var i=0; i < array.length; i++){
    //処理
}

  
こんな感じで書いてた。
けどこれはあまり良くないそうで!
この場合、ループの繰り返しごとに配列の長さを調べに行ってて
処理が遅くなっちゃうんだって!
  
じゃあいちいち見に行かないようにキャッシュをとっておくといいわよ、とか
でもarrayが可変ならlengthも更新できるようにしたほうがいいわよ、とか
オライリー先生がおっしゃっていまして。
  
色々と最適化するとこうなるらしい
  

var i,
     array = [];
for (i = array.length(); i--){
    //処理
}

  
どーん。
  
なるほど、lengthをiに代入してループ全体で扱えるようにしてる(らしい)。
lengthに到達するまで数え上げていくんじゃなくて0になるまで減らしていくのか。
i++やi--も「過剰なトリック」に走っていて(?)あまり良くないそうなので
i -= 1とかにした方がいいのかも


for文の書き方は「いつもの」って感じでおんなじ書き方で書いちゃってたけど、
こういう書き方もあるのねーふむふむ
  
ちなみにwhile文で書く方法もあるみたいだけど
気になる人はオライリー先生に聞いてみるといいよっ
  

JavaScriptパターン ―優れたアプリケーションのための作法

JavaScriptパターン ―優れたアプリケーションのための作法