coffee-script 编译后,怎么才能避免出现不需要出现的return呢?

coffeescript 新手,请多多指教。

coffee上的代码是:

refine = (wheat,chaff...) -> 
    console.log "The best: #{wheat}"
    console.log "The rest: #{chaff.join(',')}"

refine 'one','two','three','four'

编译出来后:

(function() {
  var refine,
    __slice = [].slice;

  refine = function() {
    var chaff, wheat;
    wheat = arguments[0], chaff = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
    console.log("The best: " + wheat);
    return console.log("The rest: " + (chaff.join(',')));
  };

  refine('one', 'two', 'three', 'four');

}).call(this);

refine函数里面最后一行,多了return,实际中应该不需要这个return的,为什么会被这样编译出来呢?
需要去掉吗?怎么去掉?
不需要去掉吗?为什么?

阅读 3.2k
1 个回答

最后一行写一个return或者undefined

refine = (wheat,chaff...) -> 
    console.log "The best: #{wheat}"
    console.log "The rest: #{chaff.join(',')}"
    return

refine 'one','two','three','four'

or

refine = (wheat,chaff...) -> 
    console.log "The best: #{wheat}"
    console.log "The rest: #{chaff.join(',')}"
    undefined

refine 'one','two','three','four'

http://stackoverflow.com/questions/7391493/is-there-any-way-to-not-ret...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题