美文网首页
js原型,原型链

js原型,原型链

作者: Cola1993a | 来源:发表于2017-08-31 23:25 被阅读45次
image.png

图片来自 kzloser

  • js的三种对象,即实例对象,构造函数对象,原型对象

  • 红色线prototype属性:
    普通对象没有prototype,函数对象都有prototype。
    所以实例对象和构造函数对象之间没有红线,但是构造函数和原型对象之间有红线。

  • 黑色线 constructor属性:原型对象中都有个预定义的constructor对象,用来引用他的函数对象。

    F.prototype.constructor = F 
    Object.prototype.constructor = Object 
    Array.prototype.constructor = Array 
  • 蓝色线 原型链 :js的每一个对象都有个proto内置属性,指向创建他的函数对象的原型对象。so,创建实例对象的函数是构造函数对象(第二列),而他的原型就对应各自的.prototype即原型对象(第三列)
    所有原型对象的proto 指向的都是 Object.prototype ,除了 Object.prototype 本身,它自己是指向 null ,即原型链终点是null

  • 绿色线 构造函数产生的实例对象,通过new XX() 所得到的实例。

  • 紫色线 proto的由来,其实和蓝色线是相同的,因为
    第二列构造函数对象.prototype = 第三列原型对象


下面是另一张图,也很好。

image.png

和原型有关的API
instanceof, 测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性
object instanceof constructor
检测 constructor.prototype 是否存在于参数 object 的原型链上
Object.getPrototypeOf(obj)得到obj的原型

相关文章

  • 廖雪峰JS小记

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

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

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

  • JS的__proto__和prototype

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

  • 关于JS中的原型和原型链

    目录 关于js 对象和原型 原型链 基于原型链的继承 参考资料ECMAScript 6 入门JavaScript原...

  • js_继承及原型链等(四)

    js_继承及原型链等(三) 1. 继承 依赖于原型链来完成的继承 发生在对象与对象之间 原型链,如下: ==原型链...

  • JS原型链

    1什么是JS原型链? 通过__proto__属性将对象与原型对象进行连接. 1.1 JS原型链的作用? 组成的一个...

  • 从实现角度分析js原型链

    从实现角度分析js原型链 欢迎来我的博客阅读:《从实现角度分析js原型链》 网上介绍原型链的优质文章已经有很多了,...

  • web前端面试之js继承与原型链(码动未来)

    web前端面试之js继承与原型链(码动未来) 3.2.1、JavaScript原型,原型链 ? 有什么特点? 每个...

  • 2022前端高频面试题

    JS相关 1.原型和原型链是什么 原型和原型链都是来源于对象而服务于对象的概念js中引用类型都是对象,对象就是属性...

  • 再来看一次JS继承

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

网友评论

      本文标题:js原型,原型链

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