原型继承的实现

2018-05-19  本文已影响7人  海棠未雨

原型继承

利用原型中的成员可以被和其相关的对象共享这一特性,可以实现继承

  1. 给原型对象中==添加成员==(通过对象的动态特性) 不是严格意义上的继承
function Person(name, age){
    this.name = name;
    this.age = age;
}
Person.prototype.sayHello = function () {
    console.log("我想死你了");
}
var p = new Person("冯巩",50);
p.sayHello();

(这里的p对象就继承原型)

  1. 直接替换原型对象
function Person(name, age){
    this.name = name;
    this.age = age;
}
var parent = {
    sayHello : function () {
        console.log("我想你死了");
    }
}
Person.prototype = parent;

注意:使用替换原型的方式实现继承的时候,原有原型中的成员就会丢失

  1. 利用混入的方式给原型对象添加成员
function Person(name, age){
    this.name = name;
    this.age = age;
}
var parent = {
    sayHello : function () {
        console.log("我想你死了");
    }
}
for(var k in parent){
    Person.prototype[k] = parent[k];
}
var p = new Person("冯巩",50);
p.sayHello();
原型链
上一篇下一篇

猜你喜欢

热点阅读