JS转换为Coffeescript

时间:2014-05-01 08:30:26

标签: javascript coffeescript

我试图在coffeescript中编写跟随js代码

var test = (function(test) {
    test.s = function(){
        console.log('hello')
    }
    return test;
}(test || {}));
test.s();

我使用js2coffee。我得到了什么

test = ((test) ->
  test.s = ->
    console.log "hello"
    return

  test
(test or {}))
test.s()

但是这段代码不起作用/当我在js中生成这个coffeescript时,我得到了另一个js代码

var test;

test = (function(test) {
  test.s = function() {
    console.log("hello");
  };
  return test; 
}, test || {}); // this line is different

test.s();
你能救我吗?如何正确写入coffeescript我的js脚本

2 个答案:

答案 0 :(得分:1)

这就是你想要的:

test = do (test=test or {}) ->
  test.s = ->
    console.log 'hello'
  test

输出:

var test;

test = (function(test) {
  test.s = function() {
    return console.log('hello');
  };
  return test;
})(test || {});

答案 1 :(得分:0)

这与elclanrs do版本的编译方式相同,并且可能有助于澄清coffee2js是否错误

test = ((test) ->
  test.s = ->
    console.log "hello"
  test) (test or {})