以下の宣言を使用して、jsで抽象クラス(oopsを模倣)を作成しようとしています。以下のすべてのメソッドにプロトタイプキーワードを使用すると失敗します(以下のケース1を参照)が、プロトタイプキーワードなしで使用すると、正しく宣言されているかどうかわかりません。ただし、jsファイルがメインページに宣言されている場合も同じ宣言が機能します。ダイアログボックスから呼び出すと失敗します。宣言が問題だと思います
if(nsp === undefined) var nsp = {}; // nsp is the namespace
nsp.abstractCls= function(){} ; //abstractCls is the abstract function & subclass function will extend perfAction methods (overriden methods)
nsp.abstractCls.prototype ={};
//case-1 fails , throws error is not a function (prototype keyword is present)
nsp.abstractCls.prototype.perfActiOn = function(){
return "success";
} ;
//case-2 this works (no prototype keyword)
nsp.abstractCls.perfActiOn = function(){
return "success";
} ;
Statment nsp.abstractTbl.prototype.perfTableは機能しませんが、すべての関数を呼び出すためのプロトタイプキーワードを使用することが正しいアプローチかどうかはわかりません。