javascript继承总结(1)
2010-07-14 14:25
281 查看
javascript继承的总结:
JavaScript继承的方式分为:prototype chains,construtor stealing和以上两种方式的合并,prototypal继承,parasitic(寄生)继承,parasitic合并继承等,可能还有其他的,至今没有看到。
1、prototype chains
prototype chains方法是实现继承的主要方式。想要明白这种继承方式,首先来看看对象实例、prototype和constructor三者的关系,当定义一个函数时,会包含一个默认属性prototype,prototype是一个引用类型,在这个属性中包含了constructor,constructor也是一个引用类型,constructor指向了构造函数本身,每个对象实例也包含了一个内部引用类型的对象,指向了prototype对象。
prototype chains继承方式的实现就是利用了prototype这个引用类型,这个引用类型默认是指向了函数定义本身的prototype对象。例如:
function SubType(){
this.property = true;
}
在 SubType中就有一个prototype对象,它默认被赋值了一个对象,该对象的constructor指向了SubType这个构造函数本身。要实现继承,其实就是将prototype指向一个新类型的对象。例如
function SuperType(){
this.sayHi=function(){
alert("Hi!");
}
}
上面是我定义的一个新类型,然后我将SubType的prototype对象指向这个新类型
SubType.prototype=new SuperType();
这样就实现了SubType继承了SuperType,SubType成为了Supertype的一个子类。
JavaScript继承的方式分为:prototype chains,construtor stealing和以上两种方式的合并,prototypal继承,parasitic(寄生)继承,parasitic合并继承等,可能还有其他的,至今没有看到。
1、prototype chains
prototype chains方法是实现继承的主要方式。想要明白这种继承方式,首先来看看对象实例、prototype和constructor三者的关系,当定义一个函数时,会包含一个默认属性prototype,prototype是一个引用类型,在这个属性中包含了constructor,constructor也是一个引用类型,constructor指向了构造函数本身,每个对象实例也包含了一个内部引用类型的对象,指向了prototype对象。
prototype chains继承方式的实现就是利用了prototype这个引用类型,这个引用类型默认是指向了函数定义本身的prototype对象。例如:
function SubType(){
this.property = true;
}
在 SubType中就有一个prototype对象,它默认被赋值了一个对象,该对象的constructor指向了SubType这个构造函数本身。要实现继承,其实就是将prototype指向一个新类型的对象。例如
function SuperType(){
this.sayHi=function(){
alert("Hi!");
}
}
上面是我定义的一个新类型,然后我将SubType的prototype对象指向这个新类型
SubType.prototype=new SuperType();
这样就实现了SubType继承了SuperType,SubType成为了Supertype的一个子类。
相关文章推荐
- javascript 继承方法总结
- javascript 创建对象与继承总结和回顾
- javascript 继承 学习总结
- JavaScript原型链与继承操作实例总结
- JavaScript继承方法总结
- javascript继承总结
- JavaScript中的继承模式总结
- JavaScript原型链与继承内容总结
- JavaScript多种继承总结及constructor取值
- javascript学习总结三 OOP(构造、属性、多态、继承)
- JavaScript学习总结(二十)——Javascript非构造函数的继承
- JavaScript实现继承的4种方法总结
- Javascript继承机制总结
- javascript“类”与继承总结和回顾
- javascript“类”与继承总结
- 栋栋晓13:Javascript学习总结:原型、原型链和继承。
- 面向对象的JavaScript 六 ---- javascript 继承方式总结
- JavaScript学习总结(二十)——Javascript非构造函数的继承
- JavaScript学习总结(二十)——Javascript非构造函数的继承
- JavaScript程序中实现继承特性的方式总结