运行for循环时,coffeescript哪个更好/更有效?

Ada*_*Ada 2 javascript loops coffeescript

在javascript中编写以下函数有两种功能相同的方法,哪种更好或更有效,为什么?

(str) ->
  s = 0
  for i in [0...str.length]
    s += str.charCodeAt i 
  s
Run Code Online (Sandbox Code Playgroud)

要么

(str) ->
  s = 0
  for i in str
    s += i.charCodeAt 0 
  s
Run Code Online (Sandbox Code Playgroud)

旁白:你能建议其他任何方法吗?

编辑:根据JSPerf,第一个更快:http://jsperf.com/coffee-for-loop-speed-test - 这是为什么?

Tre*_*ham 5

首先是更优雅,更高效.第二个字符串在转换为a之前,不必要地将字符串的每个字符复制到一个单独的字符串charCode.