这个地方错的哪里? 本帖最后由 h123hu 于 2012-04-03 17:11:36 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 function oDemo(name){ eventManage.call(this); this.name=name; return eventManage;试试} oDemo 的 addEvent 方法在哪里定义的? function Prototype(obj){ function F(){} //创建一个临时原型 F.prototype=obj; //继承传入对象的属性和方法 return new F; //返回一个构造函数}//创建超类型副本function inPrototype(obj1,obj2){ var pro=Prototype(obj1.prototype); //创建超类型的副本对象 pro.cunstructor=obj2; //给副本对象增加一个constructor属性 obj2.prototype=pro; //把对象副本赋值给子类型}inPrototype(oDemo,eventManage); obj2.prototype=pro; //把对象副本赋值给子类型这里吧 eventManage.prototype变成了 oDemo的? 想让oDemo继承eventManage的原型的addEvent方法,但是,继承不到,不知道哪里出了问题 inPrototype(oDemo,eventManage); 参数传反了吧!!! 典型的寄生组合试继承。function inPrototype(obj1,obj2){ var pro=Prototype(obj1.prototype); //创建超类型的副本对象 pro.cunstructor=obj2; //给副本对象增加一个constructor属性 obj2.prototype=pro; //把对象副本赋值给子类型}这句你调用方式是:inPrototype(oDemo,eventManage); 那么obj2.prototype =pro 就是eventManage.prototype =pro; 看出问题了吧? obj1.prototype是oDemo的原型对象,你用eventManage的原型来等于oDemo的原型 这不成了父类继续子类?修改:function inPrototype(obj1,obj2){ var pro=Prototype(obj2.prototype); //创建超类型的副本对象 pro.cunstructor=obj1; //给副本对象增加一个constructor属性 obj1.prototype=pro; //把对象副本赋值给子类型} 突然想到一个小问题,函数这两句写法,有没区别呢? 求一个方法,不知道是否能实现!~~高手请进~~速度结帖 100分求图片翻页显示效果 请高手帮帮忙?谢谢! 带有双引号的替换 一个郁闷的小问题,高手快来看看 asp+js中的cookie问题 我用FRAMESET把一个页面分成了上下两个页面,怎样点击上面页面的按钮就可更改下面页面的背景颜色??? 自由控制IE的外观:难道真的没有办法做到么??? 如何遍历一个[object]的所有属性? JQuery接收图片验证码图片的问题 【求助】JavaScript如何让PNG图片在IE6下面透明
{
eventManage.call(this);
this.name=name; return eventManage;试试
}
{
function F(){} //创建一个临时原型
F.prototype=obj; //继承传入对象的属性和方法
return new F; //返回一个构造函数
}//创建超类型副本
function inPrototype(obj1,obj2)
{
var pro=Prototype(obj1.prototype); //创建超类型的副本对象
pro.cunstructor=obj2; //给副本对象增加一个constructor属性
obj2.prototype=pro; //把对象副本赋值给子类型
}inPrototype(oDemo,eventManage); obj2.prototype=pro; //把对象副本赋值给子类型
这里吧 eventManage.prototype变成了 oDemo的?
想让oDemo继承eventManage的原型的addEvent方法,
但是,继承不到,不知道哪里出了问题
参数传反了吧!!!
function inPrototype(obj1,obj2)
{
var pro=Prototype(obj1.prototype); //创建超类型的副本对象
pro.cunstructor=obj2; //给副本对象增加一个constructor属性
obj2.prototype=pro; //把对象副本赋值给子类型
}这句你调用方式是:inPrototype(oDemo,eventManage);
那么obj2.prototype =pro 就是eventManage.prototype =pro; 看出问题了吧? obj1.prototype是oDemo的原型对象,你用eventManage的原型来等于oDemo的原型 这不成了父类继续子类?修改:function inPrototype(obj1,obj2)
{
var pro=Prototype(obj2.prototype); //创建超类型的副本对象
pro.cunstructor=obj1; //给副本对象增加一个constructor属性
obj1.prototype=pro; //把对象副本赋值给子类型
}