数年前、forループの条件部分はループが実行されるたびに評価されると聞きました。また、そのプロパティへのアクセスは比較的高価です。
それ以来、私はforループを次のように書く習慣があります。
var data = [1,2,3,4,5,6];
for (var i=0, l=data.length; i<l; i++) {
// do stuff
}
これは不要な最適化ですか?最新のJavascriptコンパイラ/インタプリタはすでに条件部分を最適化して、lengthプロパティが複数回アクセスされないようにしていますか?
とにかくこれはどのくらいの効果がありますか?