`

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.prototype

String.prototype是"",String.prototype.__proto__是Object.prototype

Array.prototype是"",Array.prototype.__proto__是Object.prototype

用户自定义构造函数Foo的原型对象是Foo.prototype,Foo.prototype.__proto__是Object.prototype

2>构造函数对象(内部原型__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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics