js--面向对象--构造函数的继承

js面向对象部分分为几个部分:
1.面向对象–封装
http://blog.csdn.net/github_34514750/article/details/51044272
2.本文介绍面向对象–构造函数的继承
3.面向对象–非构造函数的继承

1.apply实现构造函数的继承

function Animal(){
    this.species = "动物";
}

function Cat(name,color){
    Animal.apply(this,arguments);
    this.name = name;
    this.color = color;
}

var cat = new Cat("大毛","黄色");
alert(cat.species);//动物

2.prototype实现构造函数的继承

如果没有”Cat.prototype = new Animal();”这一行,Cat.prototype.constructor是指向Cat的;加了这一行以后,Cat.prototype.constructor指向Animal。

function Animal(){
    this.species = "动物";
}
function Cat(name,color){
    this.name = name;
    this.color = color;
}
//Cat的prototype对象指向一个Animal的实例,这时constructor指向Animal
Cat.prototype = new Animal();
//将它的构造函数指向Cat
Cat.prototype.constructor = Cat;
var cat1 = new Cat("大毛","黄色");
alert(cat1.species); // 动物

你可能感兴趣的:(js--面向对象--构造函数的继承)