zoukankan      html  css  js  c++  java
  • 原型链进阶

    原型链进阶
    • 所有的对象都是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, 它是从石头里蹦出来的.
    • 小弟水平有限,若有什么不对之处,还请留言指出哈

     
  • 相关阅读:
    格式化日期---获取年月日升级版
    时间格式转换
    Python求两个有序数组的中位数的几种方法
    pyinstaller打包时包含资源文件
    PyQt5自定义组件之飞机水平仪
    Python获取磁盘剩余空间
    PyQt5自定义组件之信号强度
    Python字典的实现原理
    获取元素相对浏览器窗口的偏移坐标
    HTML/JavaScript实现地图以鼠标为圆心缩放和移动
  • 原文地址:https://www.cnblogs.com/songyaqi/p/5194100.html
Copyright © 2011-2022 走看看