cached length property on array in a for-loop

### Cache length property in a for-loop. 
Benchmark result here
http://jsperf.com/cache-length12
The result varies, highest I've seen is 12%

![from jsperf](https://dl.dropboxusercontent.com/u/89355/jsperf.png)

another similar one(not mine)
http://jsperf.com/array-length-vs-cached



Also I moved the variable declaration into the for-loop.  Even though its still function scoped, i think this make the intention clear, and when i see them outside of the loop, i know i have a bug.