0

我正在尝试使用以下声明在 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 工作但不确定使用原型关键字调用每个函数是否正确。

4

1 回答 1

0

尝试将您声明该类的原型的行​​删除为新对象。

于 2012-10-02T14:27:02.553 回答