js原型

作者: hszz | 来源:发表于2021-11-03 12:44 被阅读0次

关键字
__proto__ 隐式原型
prototype 显式原型
constructor 构造器

简述

function Parent() {

}

p = new Parent()
  • 实例(对象)有__proto__(隐式原型) , 实例(对象)没有prototype
    __proto__ 指向构造函数的原型对象
console.log(p.__proto__)
p.__proto__ === Parent.prototype
p.__proto__.__proto__ === Parent.prototype.__proto__  === Object.prototype
  • 构造函数有 prototype (显式原型),同时prototype又是对象,那么prototype即满足上面一条,除了拥有__proto__外,还含有constructor (构造器)
console.log(Parent.prototype)
console.log(Parent.prototype.__proto__)
console.log(Parent.prototype.constructor)
  • 构造函数的prototypeconstructor就是指向构造函数本身,即此例子中
    Parent.prototype.constructor = Parent
Parent.prototype.constructor = Parent
// ***** 实例本身并无constructor,不过会借助原型链向上查找 *****
p.constructor === Parent.prototype.constructor
p.constructor === Parent

https://www.jianshu.com/p/0bf7366845d7
https://www.jianshu.com/p/bf5deff20c99
https://blog.csdn.net/hugo233/article/details/109513019

还有一个重要的点

  • (Object)对象__proto__会指向(Function)构造函数prototype,这从上面就可以就可以得知。
console.log(Object.__proto__ === Function.prototype) // true
  • (Function)构造函数__proto__会指向(Function)构造函数prototype
    (Function)构造函数本身也是对象,最终也是指向Object.prototype
console.log(Function.__proto__ === Function.prototype)
console.log(Function.prototype.__proto__ === Object.prototype)

相关文章

  • 廖雪峰JS小记

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

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

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

  • JS的__proto__和prototype

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

  • 我的投稿

    js原型

  • JS原型

    最近一直在理解JS的原型------《你不知道的JS》--------《JS设计模式》 里面都讲JS的原型运作方式...

  • js基础(三)

    js基础 原型链和原型对象 ... ... js没有继承原型对象prototype通常用来添加公共的属性或行为且只...

  • 发现•分享—2019-01-17

    文章 JS JS 异步编程六种方案 JS基础—原型对象的那些事(一) JS基础—原型对象的那些事(二) CSS 综...

  • 前端资料

    ES6新数据类型 Symbol . js变量提升函数提升 js this js 原型及原型链理解 new做了什么 ...

  • javaScript中的面向对象思想之原型

    二、js的原型1、原型的概念原型是构造函数在js代码编译阶段,由系统为我们创建出来的一个对象;原型原型可以给系统构...

  • 前端开发必须知道的JS(一) 原型和继承(转载)

    前端开发必须知道的JS(一) 原型和继承 原型和闭包是Js语言的难点,此文主要讲原型及原型实现的继承,在(二)中会...

网友评论

      本文标题:js原型

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