码迷,mamicode.com
首页 > Web开发 > 详细

JS中的_proto_(2)

时间:2016-04-15 00:30:54      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

function God(){}

function Foo(){
    this.name="Foo~~";
}
Foo.prototype = new God();

function Eoo(){
    this.sex = "boy";
}
Eoo.prototype = new Eoo();

 

var f1 = new Foo();
console.log(Foo.prototype);                                     //    God{}
console.log(typeof Foo.__proto__);                         //    function
console.log(typeof f1);                                             //    object
console.log(f1.__proto__);                                      //    God{}
console.log(f1.__proto__.__proto__);                    //    object{}
console.log(f1.__proto__.__proto__.__proto__)    //    null

var f2 = new Eoo();
console.log(Eoo.__proto__);                         //    function(){}
console.log(Object.__proto__);                    //    function(){}
console.log(God.__proto__);                        //    function(){}
// 因为Eoo(){},Object(){},God(){}都是由函数构造出来,    Xxx.__proto__构造函数的原型对象


var f2 = new Function();
console.log(Function.prototype);          //    function(){}    f2有对象构造而来
console.log(typeof f2);                          //    function
console.log(f2.__proto__);                   //    function(){}    f2.__proto__===Function.prototype
console.log(f2.__proto__.__proto__)  //    object{}        f2.__proto__.__proto__===Object.prototype
console.log(f2.__proto__.__proto__.__proto__)    //    null


//    原型对象也是对象啊,它的__proto__属性,又指向谁呢,同理,指向它的构造函数的原型对象。
//    即f2.__proto__.__proto__,这里是Object.prototype.
//    JS中万物皆对象,故所有对象都有__proto__属性,这个用来指向该对象的构造函数

 

技术分享

JS中的_proto_(2)

标签:

原文地址:http://www.cnblogs.com/nemoro1928/p/5393629.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!