手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >JavaScript 原型链学习总结
JavaScript 原型链学习总结
摘要:Function和Object都是函数的实例Function的父原型指向到Function的原型,Function的原型的父原型是Objec...

Function和Object都是函数的实例

Function的父原型指向到Function的原型,Function的原型的父原型是Object的原型。

Object的父原型也指向到Function的原型。

一个实例的对像,它的默认的父原型为其构造函数的显示原型

[每个对像都有一个隐慝的属性用于指向到它的父对像(构造对像的函数)的原型(这里称为父原型或隐式原型)。因为原型也是对像,所以原型也有父原型,Object的原型是所有父原型的顶层(原型根),这样就形成了所谓原型链]

对像属性访问原则

当从一个对像那里读取属性时,如果对像自身属性列表中不存在这样的属性,就会去自己关联的父原型对像那里寻找,如果父原型对像属性列表中也没有这样的属性则会这个父原型的父原型那里查找,直到找到或直到对顶层原型[Object.prototype]对像属性列表的查找完毕

调用对象的方法跟访问属性搜索过程一样,因为方法的函数对象就是对象的一个属性值。

实例:

复制代码 代码如下:

Object.prototype.m1 = function(){

alert("我是狮子");

}

function Class1(str){

this.p1 = str;

}

function Class2(){}

Class2.prototype.m1 = function(){

alert("你好");

}

var n1 = new Class1("毛狮子");

//@__proto__属性是对像父原型的引用

//@Object.prototype.__proto__=null

/*

n1的原型链

n1.__proto__=Class1.prototype

Class1.prototype.__proto__=Object.prototype

*/

var n2 = new Class2();

/*

n2的原型链

n2.__proto__=Class2.prototype

Class2.prototype.__proto__=Object.prototype

*/

n1.m1();//===Object.prototype.m1();

n2.m1();//===Class2.prototype.m1();

alert(n1.p1);//毛狮子

alert(n2.p1);//undefined

【JavaScript 原型链学习总结】相关文章:

JavaScript Date对象详解

在JavaScript中处理字符串之link()方法的使用

关于JavaScript作用域你想知道的一切

javascript实现删除前弹出确认框

JavaScript 预解析的原理及实现

JavaScript检测鼠标移动方向的方法

JavaScript对传统文档对象模型的支持

javascript实现简单的进度条

JavaScript中的pow()方法使用

JavaScript中的Math.LN2属性用法详解

精品推荐
分类导航