拷贝继承(call+拷贝继承)

来源:互联网 发布:安卓 windows 如何切换 编辑:程序博客网 时间:2024/06/05 12:41

属性和方法分开继承:
1、属性的继承:调用父类的构造函数.call。
2、方法的继承:for in,拷贝继承(jquery也是采用拷贝继承extend);

function Person(name,sex){      //父类    this.name = name;    this.sex = sex;}Person.prototype.showName = function(){    alert(this.name);}var p1 = new Person('小强','男');function Star(name,sex,job){    Person.call(this,name,sex);    this.job = job;}//Start.prototype = Person.prototype;//问题所在:出现对象引用,换成下面一个函数调用。给子类增加的原型方法会增加到父类上。extend(Start,Person);               //完美Start.prototype.showJob = function(){};var p2 = new Strat('小明明','男','学生');p2.showName();function extend(obj1,obj2){                 //完美    for(var attr in obj2){                  //完美        obj1[attr] = obj2[attr];            //完美    }}
0 0
原创粉丝点击