3

使用 LiveScript,当您在文件中编写一些代码时,默认编译器会将编译后的代码包装在一个匿名函数中:

编译这个:

add10 = -> it + 10

给出了:

(function(){
  var add10;
  add10 = function(it){
    return it + 10;
  };
}).call(this);

没关系!但我想为我的模块导出一些 API 函数,所以我现在要做的是:

add10 = -> it + 10

this.add10 = add10

给出:

(function(){
  var add10;
  add10 = function(it){
    return it + 10;
  };
  this.add10 = add10;
}).call(this);

我在浏览器上下文中工作,我想知道是否没有更好的解决方案。它确实有效,但我更喜欢这样的事情:

(function(w){
  var add10;
  add10 = function(it){
    return it + 10;
  };
  w.add10 = add10;
}(this));

它的代码更少(在这样一个小例子中没有太大的区别)。

4

1 回答 1

4

我会说,使用:

export add10 = (+ 10)

:)。

于 2013-06-21T15:58:05.170 回答