首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

javascript的原形链

2012-11-25 
javascript的原型链javascript中一切都是对象,主要分下面几类:1原型对象Object.prototype?? (所有对象的

javascript的原型链
javascript中一切都是对象,主要分下面几类:1>原型对象Object.prototype?? (所有对象的原型,原型链的最顶端)

??????? Object.prototype.__proto__ 是null

Function.prototype? (所有函数对象的原型,包括构造函数对象,其实就是function(){})

?????? alert(Function.prototype); //function(){}

?????? Function.prototype.__proto__是Object.prototype

Boolean.prototype是false,Boolean.prototype.__proto__是Object.prototypeString.prototype是"",String.prototype.__proto__是Object.prototypeArray.prototype是"",Array.prototype.__proto__是Object.prototype用户自定义构造函数Foo的原型对象是Foo.prototype,Foo.prototype.__proto__是Object.prototype2>构造函数对象(内部原型__proto__都是Function.prototype)2.1>用户自定义构造函数

??? function Foo(){

?

??? }

?

???? Foo的外部原型是Foo.prototype,Foo.prototype.__proto__是Object.prototype

2.2>系统内置构造函数 ??

???? Object的外部原型是Object.prototype

?

???? Function的外部原型是Function.prototype

?

???? Array的外部原型是Array.prototype

?

???? String的外部原型是String.prototype

?

???? Boolean的外部原型是Boolean.prototype

3>用户定义对象(只有内部原型__proto__,没有外部原型prototype)

??? function Foo(){

?

??? }

??? var foo = new Foo();

??? alert(foo.__proto__) //[object Object],内部原型是Foo.prototype

热点排行