• 原型链进阶


    原型链进阶
    • 所有的对象都是Function的一个实例,包括Object
      • Object.__proto__ === Function.protoype
    • 每个实例后的对象的__proto__属性都指向构造函数的prototype属性
    • 每个实例后的对象的constructor属性指向构造函数
    • Object 与 Function的relation
      • Object.__proto__ === Function.prototype
      • Object.prototype === Function.prototype.__proto__
      • Object.prototype.__proto__ === null
    • Smmarize
      • 通过代码Function.__proto__ === Function.prototype, 可以得出结论Fucntion是由他的原型创建出来
      • 通过代码Function.prototype === Object.__proto__可以看出Object是由Function创建出来。那么Function.prototype是由谁创建的呢? 答案是:Function.prototype.__proto__ === Object.prototype由此代码可以看出Function的原型是由Object创建出来的,那么我们此时又想知道Object.prototype是由谁创建出来的呢? 答案是:Object.prototype.__proto__ === null,由代码可以看出 ,它是自己蹦出来的。
      • 如果想查看一个对象是由谁创建出来的? 可以通过此对象的__proto__属性来查看。
    1.function Foo(){}
    2.var foo = new Foo();
    3.
    • Smmarize1

      • 实例对象foo是通过构造函数Foo创建的,所以实例对象的foo.__proto__指向构造按函数Foo.prototype;又因为Foo.__proto__指向Function.prototype,所以Foo是通过Function创建出来的;那么问题来了Function是通过谁创建出来的呢? 答案是: Function的属性__proto__指向Function.prototype;继续挖Function.prototype是通过谁创建出来的呢? 结果是:Function.prototype.__proto__指向Object.prototype,所以说呢: Function.prototype是通过Object.prototype创建出来的,那么Object.prototype.__proto__又指向谁呢,答案是null, 它是从石头里蹦出来的.
    • 小弟水平有限,若有什么不对之处,还请留言指出哈

     
  • 相关阅读:
    adfs环境安装
    joinquant网站
    test
    对C转换说明符的误解以及关于数组的一些知识
    正确求平方根的整数部分方法
    单链表的交换排序法
    链表的冒泡排序
    240页345题
    C语言中对数组名取地址
    单链表的基础操作练习
  • 原文地址:https://www.cnblogs.com/songyaqi/p/5194100.html
Copyright © 2020-2023  润新知