Javascript JQuery插件类不工作

Javascript JQuery插件类不工作,javascript,jquery,class,oop,plugins,Javascript,Jquery,Class,Oop,Plugins,我正在开发一个JQuery插件。我需要在插件中使用OOP。然而,这门课并不像我想象的那样好。当我启动这个类的一个新实例时,只有它的第一行代码在执行。这段代码有什么问题,如何在初始化时执行这个类的构造函数 (function ($) { var FunClass; FunClass = function () { console.log("FunGlobal"); function FunClass() { console.log("FunConstruct

我正在开发一个JQuery插件。我需要在插件中使用OOP。然而,这门课并不像我想象的那样好。当我启动这个类的一个新实例时,只有它的第一行代码在执行。这段代码有什么问题,如何在初始化时执行这个类的构造函数

(function ($) {
  var FunClass;

  FunClass = function () {
    console.log("FunGlobal");

    function FunClass() {
      console.log("FunConstructor");
    }

    FunClass.prototype.letsFun = function () {
      console.log("FunMethod");
    }
  }();

  $.fn.fun = function () {
    var funClass;

    return this.each(function () {
        funClass = new FunClass();
        funClass.letsFun();
    });
  };
}(jQuery));
以下是控制台输出:


谢谢您的帮助。

您似乎忘记返回
FunClass

(函数($){
var函数类;
FunClass=(函数(){
控制台日志(“FunGlobal”);
函数FunClass(){
log(“FunConstructor”);
}
FunClass.prototype.letsFun=函数(){
console.log(“FunMethod”);
}
return FunClass;//您错过了这一行
})();
$.fn.fun=函数(){
var函数类;
返回此值。每个(函数(){
funClass=新的funClass();
funClass.letsFun();
});
};
}(jQuery));
//用法
$(函数(){
$('body').fun();
});

似乎您忘记返回
函数类了:

(函数($){
var函数类;
FunClass=(函数(){
控制台日志(“FunGlobal”);
函数FunClass(){
log(“FunConstructor”);
}
FunClass.prototype.letsFun=函数(){
console.log(“FunMethod”);
}
return FunClass;//您错过了这一行
})();
$.fn.fun=函数(){
var函数类;
返回此值。每个(函数(){
funClass=新的funClass();
funClass.letsFun();
});
};
}(jQuery));
//用法
$(函数(){
$('body').fun();
});

如何启动该类的新实例?让我们明确一点,您没有类-您有一个函数,它是一个对象。对象的所有方法都应该在函数的原型上声明,而不是写入构造函数本身的主体中。有这样一种方法(节点和树)。正如您所说的@ScottMarcus,我应该声明原型上的所有方法吗?那么我应该如何调用这个类的构造函数?如何初始化这个类的一个新实例?让我们在这里澄清一下,你没有一个类-你有一个函数,它是一个对象。对象的所有方法都应该在函数的原型上声明,而不是写入构造函数本身的主体中。有这样一种方法(节点和树)。正如您所说的@ScottMarcus,我应该声明原型上的所有方法吗?那么我应该如何调用这个类的构造函数呢?