Существует два функционально эквивалентных способа написания следующей функции в javascript, которая лучше или эффективнее и почему?
(str) ->
s = 0
for i in [0...str.length]
s += str.charCodeAt i
s
или
(str) ->
s = 0
for i in str
s += i.charCodeAt 0
s
В сторону: Можете ли выпредложить другие способы сделать это?
Редактировать: Согласно JSPerf, первый быстрее: http://jsperf.com/coffee-for-loop-speed-test - почему это?