第一种情况
PDCRS={}
PDCRS.Base = function() {}
PDCRS.Base.prototype.Dao = function() {}
function ConfrontationNaming() {
this.Dao();//这里可以正常调用
}
ConfrontationNaming.prototype = new PDCRS.Base();
ConfrontationNaming.prototype.constructor = ConfrontationNaming;
第二种情况
PDCRS={}
PDCRS.Base = function() {}
PDCRS.Base.prototype.Dao = function() {}
PDCRS.Base.prototype.Dao.prototype.saveScore() {}
function ConfrontationNaming() {
this.Dao.saveScore();//这里提示没有saveScore方法
}
ConfrontationNaming.prototype = new PDCRS.Base();
ConfrontationNaming.prototype.constructor = ConfrontationNaming;
请高手解答,要怎样才能使第二种调用能够成功执行?
------解决方案--------------------
function ConfrontationNaming() {
new this.Dao().saveScore();//这里提示没有saveScore方法
}
saveScrore是PDCRS.Base.prototype.Dao这个空间下的,不是PDCRS.Base的,ConfrontationNaming.prototype的原型为 new PDCRS.Base();
------解决方案--------------------
直接用类方法在子类中添加函数
PDCRS={}
PDCRS.Base = function(){return alert(1)}
PDCRS.Base.prototype.Dao = function(){return alert(2)}