Is
for (var i=0, cols=columns.length; i
more efficient than
for (var i=0; i
Micro optimizations like this don't make huge sense in a language like Javascript unless you have tested and found the loop performance to be an issue.
However, columns.length must be evaluated on each iteration because the number of columns may change during a loop iteration. Therefore storing the loop limit may give slightly better performance (but see my first point).