发布时间: 2015-05-05 00:00:00
coffeescript 强制的要求每个function都要有返回值。
如果我们没用显示的写上return , coffeescript 会为function的最后一行加上 return 语句。
那么问题就来了: 在 loop 中,不要随便使用 return,例如:
//native js: for(i=0; i < [1,2,3,4].length; i++) { console.info("== in the loop, i is: #{i}"); }
在转换成对应的coffeescript时, 不要在循环的尾部加上 return!
for i in [1,2,3,4] console.info "== in the loop, i is: #{i}" return 上述代码编译成: ref = [1, 2, 3]; for (l = 0, len = ref.length; l < len; l++) { i = ref[l]; console.info("== in the loop, i is: " + i); return; }
for i in [1,2,3,4] console.info "== in the loop, i is: #{i}" 上述代码会被编译成: ref = [1, 2, 3]; for (l = 0, len = ref.length; l < len; l++) { i = ref[l]; console.info("== in the loop, i is: " + i); }Back