1
我正在开发一个JQuery插件。我需要在我的插件中使用OOP。但是,班级没有像我期望的那样工作。当我启动该类的新实例时,它只是其正在执行的代码的第一行。这段代码有什么问题,以及如何在启动时执行这个类的构造函数?JQuery插件类不工作
(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));
这里是控制台输出:Console Output
感谢您的帮助。
你如何启动类的新实例? –
让我们在这里清楚,你没有一个类 - 你有一个函数,这是一个对象。对象的所有方法都应该在函数的原型上声明,而不是写入构造函数本身的主体中。 –
我以这段代码为例:[link](https://github.com/ludo/jquery-treetable/blob/master/jquery.treetable.js)。有使用这种方法(节点和树)。正如你所说@ScottMarcus我应该在原型上声明所有方法?那么我应该如何为这个类调用构造函数? – BigSant