Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从LiveScript模块导出函数的最佳方式是什么?_Javascript_Optimization_Livescript - Fatal编程技术网

Javascript 从LiveScript模块导出函数的最佳方式是什么?

Javascript 从LiveScript模块导出函数的最佳方式是什么?,javascript,optimization,livescript,Javascript,Optimization,Livescript,使用LiveScript,当您在文件中编写某些代码时,默认编译器会将编译后的代码包装在匿名函数中: 汇编此文件: add10 = -> it + 10 提出: (function(){ var add10; add10 = function(it){ return it + 10; }; }).call(this); 没关系!但是我想为我的模块导出一些API函数,所以我现在要做的是: add10 = -> it + 10 this.add10 = add10

使用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));
代码更少(在这样一个小例子中没有太大区别)。

我想说,使用:

export add10 = (+ 10)

:)。

仅仅添加一个var w=this有什么不对;以前?我不知道我在寻找好的实践技巧!如果我理解正确,您更喜欢最后一个示例,而不是第二个,因为它的代码更少。但是,如果你使用压缩,这并不重要——你应该这样做,尤其是当文件足够大,以至于
w.
之间的差异变得显著时。
是的,我使用压缩。真正的原因是我宁愿避免使用这个关键字Livescript的主页并没有提到这个特性。我已经尝试在上面搜索“导出”,但我没有在代码中尝试。我本应该:)我已经为此发行了一期: