zoukankan      html  css  js  c++  java
  • JS

    每个对象都有一个指针指向它的原型(prototype),可以通过Object.getPrototypeOf(obj)方法可以获取obj对象的原型,又因原型也是对象,同理,它也有一个指针指向它自己的原型,那么如此类推就构成了原型链。
     
    举个例子:
     
    有如下场景
    Man extends Person extends Object
     
    var a = new Man();
     
    a的原型就是Man.prototype
     
    Man.prototype也是一个对象,那么它也有一个指针指向它自己的原型,那就是Person.prototype
     
    同理,Person.prototype的原型就是Object.prototype
     
    Object.prototype也是对象,同理,只不过它的原型为null,那么也就到了原型链的末端
     
    a的原型链路如下图
     
     
    记住一点:对象的原型就是它的构造函数的原型,照样拿上图的a对象来举例的话,也就是:a.__proto__ === Man.prototype
  • 相关阅读:
    用价值链分析软件开发及杂感
    《恰如其分的软件架构》笔记摘要
    观察者模式
    Js中Date对象
    Js中Currying的应用
    read命令
    模板方法模式
    两两交换链表中的节点
    享元模式
    Js中Array对象
  • 原文地址:https://www.cnblogs.com/andremao/p/7155708.html
Copyright © 2011-2022 走看看