zoukankan      html  css  js  c++  java
  • JS中的_proto_(2)

    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__属性,这个用来指向该对象的构造函数
    
     
    
    
  • 相关阅读:
    oracle在没
    一天中时针和分钟重合的次数
    oracle的隐藏的东东
    左右小移动
    JS全选的操作
    JS定时器
    在文件中查找字符串
    表单原件
    div和span互换
    div和span的区别
  • 原文地址:https://www.cnblogs.com/nemoro1928/p/5393629.html
Copyright © 2011-2022 走看看