原型继承的实现
2018-05-19 本文已影响7人
海棠未雨
原型继承
利用原型中的成员可以被和其相关的对象共享这一特性,可以实现继承
- 给原型对象中==添加成员==(通过对象的动态特性) 不是严格意义上的继承
function Person(name, age){
this.name = name;
this.age = age;
}
Person.prototype.sayHello = function () {
console.log("我想死你了");
}
var p = new Person("冯巩",50);
p.sayHello();
(这里的p对象就继承原型)
- 直接替换原型对象
function Person(name, age){
this.name = name;
this.age = age;
}
var parent = {
sayHello : function () {
console.log("我想你死了");
}
}
Person.prototype = parent;
注意:使用替换原型的方式实现继承的时候,原有原型中的成员就会丢失
- 利用混入的方式给原型对象添加成员
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();
原型链