构造函数继承
2017-12-22 15:11:48 0 举报
JavaScript的构造函数继承的几种方法
作者其他创作
大纲/内容
可以看到,species属性并不是由cat构造函数生成的,它通过animal构造函数生成,并且强制绑在了cat对象上的。这样的话cat对象就成功继承了animal对象所拥有的species属性了。
species
指向
prototype
function Animal(){ }Animal.prototype.species = \"动物\
继承
name
拥有
Cat.prototype = new Animal(); Cat.prototype.constructor = Cat;
cat对象
color
extend函数
这里首先把要不变的属性写进了prototype,然后利用了一个空对象的prototype指向animal原型的prototype,然后再用cat的prototype指向了新的空对象,这样就实现了属性的继承
cat构造函数
生成
这个就比较简单,就是把要继承的对象的构造函数的prototype全部复制过去子对象的构造函数中就行了
animal构造函数
animal实例
f对象
function Animal ( ){ this.species = \"动物\
apply
f构造函数
利用空对象作为中介,间接继承prototype
基于原型而拥有
constructor
这里通过替换prototype的指向,指到一个实例中,这样就达到继承的效果(species属性并不是在实例对象上,而是在原型对象中,不过实例对象可以通过原型链来查找到这个属性)。不过有个缺点是要新建一个原型的实例,如果原型大的话,会很占内存。
var F = function(){}; F.prototype = Animal.prototype; Cat.prototype = new F(); Cat.prototype.constructor = Cat;
拷贝继承
prototype模式继承
复制
构造函数apply绑定继承
0 条评论
下一页