我是CoffeeScript的新手,我喜欢CoffeeScript类,但是无法弄清楚如何使用jQuery.prototype在jQuery中扩展它们。
这是我的应用程序的一部分,其中包含一些全局状态变量,因此我想通过$ .myThing.myFunction()调用它,而不是通常的$ .fn.extend / $()。myThing()扩展方式。
我可以使它像这样工作:
$ = jQuery
$.myThing = $.myThing || {}
$.extend $.myThing, {
myProperty: 0
myFunction: ->
}
没关系,但是我不能将其用作类,并且该结构看起来也不像我的pycharm。 (这就是说实话,可能比整个课堂都要麻烦……)
我想要做的是这样的事情:
$ = jQuery
$.myThing = $.myThing || {}
class myThing
myProperty: 0
myFunction: ->
$.extend $.myThing, myThing()
但这不起作用(除了在pycharm中看起来很漂亮)。有一个更好的方法吗?
最佳答案
这对您有用吗?
class jQuery.myThing
myProperty: 0
myFunction: ->
编译为:
jQuery.myThing = (function() {
function myThing() {}
myThing.prototype.myProperty = 0;
myThing.prototype.myFunction = function() {};
return myThing;
})();
编辑:
$.myThing
作为类的实例:class myThing
myProperty: 0
myFunction: ->
jQuery.myThing = new myThing