我在类定义
之后看到了一个A类class A
constructor: (@x=0, @y=0) ->
@A = A
@A = A在这里是什么?
答案 0 :(得分:2)
查看生成的输出会有所帮助。
// Generated by CoffeeScript 1.9.3
(function() {
var A;
A = (function() {
function A(x, y) {
this.x = x != null ? x : 0;
this.y = y != null ? y : 0;
}
return A;
})();
this.A = A;
}).call(this);
因此@A
会转换为this.A
。在顶级使用this
时,它会引用window
。所以@A = A
将A类导出到窗口对象上。
这通常用于导出库。例如,window.$ = jQuery
或window._ = lodash
。