美文网首页
js原型链总结示意图

js原型链总结示意图

作者: louhangfei | 来源:发表于2019-06-17 09:23 被阅读0次
function Student(name){
    this.name = name; 
    this.say = function (){
        console.log(’my Name is ’, this.name)
    }
}
Student.prototype.eat= function eat(){
    console.log(this.name + ‘is eating’)
}

let s1= new Student(“Tom”)
let s2= new Student(“Lucy”)

s1 s2 Student之间的关系见下图

image.png

可以推导出如下的关系:

s1.__proto__ === s2.__proto__ ===Student.prototype
s1.constructor === s2.constructor === Student.prototype.constructor === Student
Student.prototype.__proto__ === Object.prototype
Object.__proto__ ===null

任何一个函数的prototype都有2个属性:constructor__proto__

任意一个函数都有prototype

任何一个函数的prototype的constructor属性都指向自身

People.prototype.constructor === People // true

如果一个对象是由类实例化而来,那么它的__proto__指向该类的原型

如果一个对象不是由类实例化而来,那么它的__proto__指向Object.prototype

比如

let obj = {} // 手动新建一个对象
obj.__proto__ === Object.prototype // true

因为 函数的prototype是一个对象,该对象不是由类实例化而来,根据上一条,其__proto__指向Object.prototype

Student.prototype.__proto__ === Object.prototype

相关文章

  • js原型链总结示意图

    s1 s2 Student之间的关系见下图 可以推导出如下的关系: 任何一个函数的prototype都有2个属性:...

  • JavaScript原形链继承、__proto__、protot

    原型链示意图

  • 原型链实现继承

    原型链 原型链示意图 使用原型链实现继承 这是怎么回事呢? 原型链在哪? 听我细细道来~ 首先 Teacher 实...

  • 再来看一次JS继承

    原型链继承 理解原型链的概念 用一张图来理解原型链再合适不过了。 总结概括JS红宝书上对原型链的概念:每个函数都有...

  • 廖雪峰JS小记

    (function(){})() 原型,原型链 浅谈Js原型的理解JS 原型与原型链终极详解 对象 对象:一种无序...

  • 5-1 从基础知识到JSWebAPI

    回顾js基础知识 JS-web-API 总结 回顾js基础知识 变量类型和计算 原型和原型链 闭包与作用域 异步和...

  • 第六章(3):继承

    继承的几种方式 原型链 原型链示意图: 构造函数 组合继承(将原型链和构造函数组合在一起) 原型式继承 寄生式组合...

  • JS的__proto__和prototype

    最近在回顾JS的原型和原型链的知识,熟悉JS的同学都知道JS的继承是靠原型链实现的,那跟原型链相关的属性__pro...

  • Javascript(三)之原型继承理解

    进阶路线 3 原型继承 3.1 优秀文章 最详尽的 JS 原型与原型链终极详解 一 最详尽的 JS 原型与原型链终...

  • JS原型链总结

    原型链总结: function Person(){}var p1 = new Person();var o1 = ...

网友评论

      本文标题:js原型链总结示意图

      本文链接:https://www.haomeiwen.com/subject/idsofctx.html