我不知道这是否与IDE相关,或者纯粹是关于转换过程。 我在mac上使用Webstorm,并安装了node,npm和coffeescript。 IDE正在使用它来转换为javascript:
//Coffeescript code, simple variable declaration
myamount = 56
//Traspiled javascript generated by CoffeeScript 1.6.3
(function() {
var myamount;
myamount = 5;
}).call(this);
为什么它将变量放在匿名函数中的任何线索?这是不正确的转变。
答案 0 :(得分:0)
这是为了防止您污染全局命名空间。
如文档中所述 - lexical scope and variable safety:
所有CoffeeScript输出都包含在匿名函数中: (function(){...})();这个安全包装,结合了 自动生成var关键字,使其非常困难 无意中污染全局命名空间。