js高级——原型对象继承的实现

来源:互联网 发布:食品安全网络培训 编辑:程序博客网 时间:2024/05/20 19:31
1、原型继承:利用原型中的成员可以被和其相关的对象共享这一特性,可以实现继承
2、原型继承的写法
(1)给原型对象中添加成员(通过对象的动态特性,其实不是严格意义上的继承)
functionPerson(name,age){
    this.name= name;
    this.age= age;
}

Person.prototype.sayHello= function(){
    console.log("sayHello()");
};

varp = new Person("张学友",18);
p.sayHello();//通过原型去添加sayHello()方法
//这里的p对象就继承了原型对象

就是说原来这个对象里面没有某个方法/属性,通过上面这种方式去添加成员。对象继承原型,然后原型里面新增方法,那么这个对象里面就有这么一个方法


(2)直接替换原型对象:其实原理还是对象继承原型(虽然可以实现原型继承,但是很可能原有原型中的成员会丢失)
functionPerson(name,age){
    this.name= name;
    this.age= age;
}

varparent = { //让p对象继承parent对象
    sayHello:function(){
        console.log("你好");
    }
    };
Person.prototype= parent;                //把parent变成构造函数的原型就可以让p对象去继承parent对象了

varp = new Person("张学友",18);
p.sayHello();



(3)利用混入的方式给原型对象添加成员(还是对象继承原型)
functionPerson(name,age){
    this.name= name;
    this.age= age;
}

varparent = {
    sayHello:function(){
        console.log("你好呀");
    }
};
for(vark in parent){
    Person.prototype[k] = parent[k];//因为是要给原型添加这个sayHello()方法
}

varp = new Person("张学友",18);
p.sayHello();
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 农村两层房屋设计图纸 三层半房屋设计图纸 三层小别墅设计图纸 10万农村别墅设计图纸 农村自建小别墅图纸 农村一层别墅设计图纸 农村二层小别墅设计图纸 三层农村别墅设计图纸 三层复式别墅设计图纸 农村二层楼设计图纸 90平方房屋设计图纸 农村2层房屋设计图纸 8x10农村自建房图纸 三层欧式别墅设计图纸 农村三层小别墅设计图纸 农村双拼别墅设计图纸 农村独栋别墅设计图纸 小户型别墅设计图纸 二层半别墅设计图纸 怎样看室内装修图纸 异界纹图腾 狼图腾 图腾 青龙图腾 圣龙图腾 姓氏图腾 图腾纹身 龙图腾 凰图腾 狼图腾图片 图腾领域 欲图腾 植物图腾 人道图腾 纹身图腾 龙图腾女孩 天剑图腾 图腾意思 李姓图腾 末世图腾 龙图腾图片