原型链法
通过prototype
的赋值实现对象的继承
例如:
function Person(){
this.name = 'zhang';
}
Person.prototype.printName = function(){
alert(this.name);
}
function Student(){}
Student.prototype = Person.prototye; //学生继承人
Student.prototype.constructor = 'Student'; //更新构造函数为Student
属性复制法
通过for循环将prototype
中的属性方法复制到子类
function Person(){
this.name = 'Person';
}
Person.prototype.printName = function(){
alert(this.name);
}
function Student(){}
for(prop in Person.prototype){
Student.prototype[prop] = Person.prototype[prop];
}
Student.prototype.constructor = 'Student';
构造器应用法
使用call方法实现继承
function Person(){
this.name = 'Person';
}
Person.prototype.printName = function(){
alert(this.name);
}
function Student(){
Person.call(this);
}