CoffeeScript中的返回方法

时间:2014-04-29 11:10:53

标签: javascript coffeescript

如何在CoffeeScript中执行此操作:

window.onload = function() {
  test.init();
};

var test = (function() {
  var num = 1;

  var pub = function() {
    document.body.innerHTML = num;
  };

  return {
    init: function() {
      pub();
    }
  }

}());

JSFiddle

3 个答案:

答案 0 :(得分:1)

看起来这应该可以解决问题:

window.onload = -> test.init()

test = do ->
  num = 1
  pub = -> document.body.innerHTML = num
  init: -> pub()

或者,如果您明确不希望函数返回任何内容:

window.onload = ->
  test.init()
  return

test = do ->
  num = 1
  pub = ->
    document.body.innerHTML = num
    return
  init: ->
    pub()
    return

答案 1 :(得分:1)

这一点翻译:

window.onload = ->
  test.init()

test = do ->
  num = 1
  pub = ->
    document.body.innerHTML = num;

  init: ->
    pub()

compile

但是,您可以将它(和js类似)缩短为

test = do ->
  num = 1
  init: ->
    document.body.innerHTML = num;
window.onload = test.init

compile

您可以选择在每->之前插入空括号(无参数)。

答案 2 :(得分:0)

js-2-coffee是一个非常方便的网站,将来会发生这类事情

当您粘贴javascript时,它会提供以下coffeescript

window.onload = ->
  test.init()
  return

test = (->
  num = 1
  pub = ->
    document.body.innerHTML = num
    return

  init: ->
    pub()
    return
())