js中的原形链继承机制
来源:互联网 发布:linux开机no such file 编辑:程序博客网 时间:2024/06/05 09:42
js中的继承机制采用原型链来实现的。
在js中,创造js新函数后(function super(){}),js就会根据特定的规则为该函数创造一个prototype属性,该属性指向该函数的原型对象(super prototype),而在这个原型对象中,存在属性constructor有反向指向创建的函数,因此存在等式:
super.prototype.constructor=super
之后,我们在创建super的实例后
var instance=new super();
这个实例中的会产生一个[[prototype]]
的指针,该属性是个隐藏属性,但是在主流浏览器中可以使用“proto”来表示。该指针由实例指向原型对象,即存在等式:super.prototype=instance._proto_
而我们所说的原型链就是这个[[prototype]]
产生的继承机制的链条。
当我们想要产生继承关系的时候:
function fu(){ this.name="Toe"; this.age=12; }function zi(){ this.gender="male";}zi=new fu();var instance=new zi();console.log(instance.name,instance.age,instance.gender);//toe 12 male
代码中的zi继承了fu中的所有属性,同时也拥有自己的属性,当建立zi的实例对象instance时,instance指向zi的原型对象,而同时,zi的原型对象中的proto 属性又指向fu的原型对象,所以当请求instance.name 时:首先会先从zi的prototype中寻找相应的属性,如果存在则停止寻找,若不存在则按照原形链向上寻找,直至到原形链的顶端为止。
而且,曾经在fu中的实例属性,通过zi继承之后,该属性会位于 zi 的原型对象之中,图解如下所示:
1 0
- js中的原形链继承机制
- js中的继承机制
- JS中的继承机制
- js prototype原形
- JS继承机制
- js继承机制实现
- js继承机制详解
- js实现继承机制
- JS继承机制思想
- Javascript中的利用原形链和对象冒充创建类
- js继承机制(Prototype.js)
- Javascript中的继承机制4------原型链
- Delphi中的继承机制
- Js中的原型继承和原型链
- JS中的原型链及继承
- JS OO 的继承机制
- js继承机制的实现
- JS 中的继承
- JQuery中AJAX的常用方式
- 【JavaScript】兼容IE6的收起折叠效果
- 在电视端网络视频播放加载一个视频预览的方法(电视基于安卓系统)
- 动态加载第三方字库
- lldb 常用命令整理
- js中的原形链继承机制
- ADT中AVD的intel Atom(x86)配置
- 深入剖析授权在WCF中的实现
- Eclipse常用快捷键使用
- Android之UI开源框架
- sicily1001 全排列(升序)
- Android Activity切换动画(解决back键后退失效问题)
- UIViewController的生命周期
- Android项目,从web上取下汉字,中文部分乱码