4.对象冒充 组合继承
原 javascript读完大概需要3分钟
- 发布时间:2017-07-26 15:34 星期三
- 刘伟波
- 635
- 更新于: 2017-07-26 15:34 星期三
对象冒充 组合继承
对象冒充存在的问题,不能使用原型,所以就不能不能实现数据共享
<script> function Test(age) { this.family=["妈妈","爸爸"]; this.age=age; this.fun=function () { return this.age+this.family; } } function Until(age) { Test.call(this,age) } var u1=new Until(23); console.log(u1.fun()); var u2=new Until(24); console.log(u2.fun()); console.log(u1.fun==u2.fun);//false //对象冒充存在的问题 //不能使用原型,所有就不能不能实现数据共享 function Test(age) { this.family=["妈妈","爸爸"]; this.age=age; } Test.prototype.fun=function () { return this.age+this.family; }; function Until(age) { Test.call(this,age) } var u1=new Until(23); console.log(u1.fun()); var u2=new Until(24); console.log(u2.fun()); console.log(u1.fun==u2.fun);//false //组合继承(原型加对象冒充) function Test(age) { this.family=["妈妈","爸爸"]; this.age=age; } Test.prototype.fun=function () { return this.age+this.family; }; function Until(age) { Test.call(this,age);//对象冒充 } Until.prototype=new Test();//原型链 var u1=new Until(23); u1.family.push("姐姐"); console.log(u1.fun()); var u2=new Until(24); console.log(u2.fun()); console.log(u1.fun==u2.fun);//true </script>
发表评论: