JS 继承 - 83015010/js GitHub Wiki
参考资料:http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_inheritance.html
一、实现继承的几种方式
##1.1 在构造函数中使用apply或者call实现继承
//定义一个人
function Person(name, age) {
this.name = name;
this.age = age;
}
//定一个男人 继承 人
function Man(){
Person.apply(this,arguments);
}
var man = new Man('张三',22);
console.log(man.name+', '+man.age); // 输出 张三, 22
1.2 原型模式实现继承
//定义一个人
function Person() {
this.type ='人类';
}
//定一个男人 继承 人
function Man(name, age){
this.name = name;
this.age = age;
}
Man.prototype = new Person(); //将Man的原型指向Person的一个实例
Man.prototype.constructor = Man; //因为Man的prototype被重新赋值了,constructor也需要重新指向Man(如果这里不设置,constructor将指向Person)
var man = new Man('zhangsan',11);
console.log(man.name+', '+man.age+', '+man.type);