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