返回顶部
首页 > 资讯 > 精选 >es6原型链是什么及怎么实现
  • 743
分享到

es6原型链是什么及怎么实现

2023-07-04 14:07:14 743人浏览 安东尼
摘要

这篇“es6原型链是什么及怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“es6原型链是什么及怎么实现”文章吧。原型链

这篇“es6原型链是什么及怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“es6原型链是什么及怎么实现”文章吧。

原型链,简单理解就是原型组成的链。当访问一个对象的某个属性时,会先在这个对象本身属性上查找,如果没有找到,则会去它的__proto__隐式原型上查找,即它的构造函数的prototype,如果还没有找到就会再在构造函数的prototype的__proto__中查找,这样一层一层向上查找就会形成一个链式结构,被称为原型链。

什么是原型?

js中,每个函数在被创建的时候就会有一个 prototype属性,这个属性是一个指针,指向一个对象,而这个对象就是这个函数的原型对象(也就是原型),它是用来共享所有实例的属性和方法的地方,所以原型其实就是函数的伴生体(与生俱来的)

var a = [1, 2, 3, 4, 5];a.__proto__ === Array.prototype; // true

什么是原型链?

原型链,简单理解就是原型组成的链。当访问一个对象的某个属性时,会先在这个对象本身属性上查找,如果没有找到,则会去它的__proto__隐式原型上查找,即它的构造函数的prototype,如果还没有找到就会再在构造函数的prototype的__proto__中查找,这样一层一层向上查找就会形成一个链式结构,我们称为原型链

创建一个构造函数:

function Person (name) {    this.name = name}var cheng = new Person('Cheng');var lin = new Person('Lin');

打印cheng和lin,可以看到两个对象中都分别存在一个__proto__属性
es6原型链是什么及怎么实现
es6原型链是什么及怎么实现
然后发现

console.log(cheng.__proto__ === lin.__proto__); // true

那么实例对象的这个__proto__属性到底是什么玩意?

console.log(cheng.__proto__ === Person.prototype); // trueconsole.log(lin.__proto__ === Person.prototype); // true

小结:实例对象有一个不可枚举的属性 proto,这个属性是一个指针,指向了其构造函数的prototype也就是原型对象,实例可以通过 proto 访问到构造函数的原型上的方法

简单来说,实例对象的 __proto__ 指向构造函数的 prototype

es6原型链是什么及怎么实现

那么,这个构造函数的原型是什么呢?

打印Person.prototype,可以看到也存在一个__proto__属性
es6原型链是什么及怎么实现

console.log(Person.prototype.__proto__ === Object.prototype)

小结:函数的原型本质就是一个普通对象,所以他是来自Object的实例,因此,原型对象的 proto 属性指向Object.prototype。

es6原型链是什么及怎么实现

再往下找Object.prototype的__proto__是指向哪里呢?

最后发现是指向null

小结:Javascript中任意数据都能沿着自己的原型链最终找到Object.prototype

以上就是关于“es6原型链是什么及怎么实现”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: es6原型链是什么及怎么实现

本文链接: https://lsjlt.com/news/345865.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • es6原型链是什么及怎么实现
    这篇“es6原型链是什么及怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“es6原型链是什么及怎么实现”文章吧。原型链...
    99+
    2023-07-04
  • es6中什么是原型链
    本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。什么是原型?在JS中,每个函数在被创建的时候就会有一个 prototype属性,这个属性是一个指针,指向一个对象,而这个对象就是这个函数的原型对象(...
    99+
    2022-11-22
    ES6 原型链 javascript
  • javascript原型链怎么实现
    这篇文章主要讲解了“javascript原型链怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript原型链怎么实现”吧!原型链在ES6中引入了class关键字,但是JS依...
    99+
    2023-06-22
  • 什么是JS原型和原型链
    本篇内容介绍了“什么是JS原型和原型链”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.JS 的发展史要想...
    99+
    2024-04-02
  • JavaScript原型与原型链是什么
    这篇文章主要介绍“JavaScript原型与原型链是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript原型与原型链是什么”文章能帮助大家解决问题...
    99+
    2024-04-02
  • JavaScript原型链是什么
    这篇文章主要为大家展示了“JavaScript原型链是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript原型链是什么”这篇文章吧。1、构造函数和实例假设你声明一个方法叫做Fo...
    99+
    2023-06-25
  • Javascript中怎么实现原型和原型链
    今天就跟大家聊聊有关Javascript中怎么实现原型和原型链,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。原型Javascript中有一句话,叫一...
    99+
    2024-04-02
  • JavaScript中原型和原型链是什么
    本篇文章给大家分享的是有关JavaScript中原型和原型链是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。而原型、原型链就是其中之一。每...
    99+
    2024-04-02
  • javascript的原型和原型链是什么
    小编给大家分享一下javascript的原型和原型链是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • JavaScript中的原型和原型链是什么
    这篇文章主要介绍“JavaScript中的原型和原型链是什么”,在日常操作中,相信很多人在JavaScript中的原型和原型链是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScript中的原型和...
    99+
    2023-06-21
  • JavaScript原型链的原理是什么
    这篇文章主要讲解了“JavaScript原型链的原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript原型链的原理是什么”吧!解析原型...
    99+
    2024-04-02
  • JavaScript原型链指的是什么
    这篇文章主要为大家展示了“JavaScript原型链指的是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript原型链指的是什么”这篇文章吧。1...
    99+
    2024-04-02
  • javascript中的原型链是什么
    本篇内容主要讲解“javascript中的原型链是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript中的原型链是什么”吧! ...
    99+
    2024-04-02
  • Javascript的原型和原型链是什么意思
    这篇文章主要介绍Javascript的原型和原型链是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、为什么要使用原型?怎样去理解原型的出现1、对象字面量创建对象的缺点想要介绍原型,就不得不提为什么我们要使用...
    99+
    2023-06-29
  • JavaScript中怎么实现原型链和继承
    JavaScript中怎么实现原型链和继承,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。原型链例子(要点写在注释里,可以把代码复制到浏览器里测...
    99+
    2024-04-02
  • 怎么在javascript中实现原型链继承
    本篇文章给大家分享的是有关怎么在javascript中实现原型链继承,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、说明构造函数、原型与实例的关系,每个构造函数都有一个原型对...
    99+
    2023-06-15
  • ES6解构赋值的原理是什么及怎么运用
    这篇文章主要介绍“ES6解构赋值的原理是什么及怎么运用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ES6解构赋值的原理是什么及怎么运用”文章能帮助大家解决问题。数...
    99+
    2024-04-02
  • C语言双向链表是什么及怎么实现
    本篇内容介绍了“C语言双向链表是什么及怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、双向链表的概念概念:概念:双向链表是每个结点...
    99+
    2023-06-30
  • JavaScript的继承和原型链是什么
    小编给大家分享一下JavaScript的继承和原型链是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、前言JavaScri...
    99+
    2024-04-02
  • javascript的构造函数, 原型,原型链和new是什么
    这篇“javascript的构造函数, 原型,原型链和new是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“j...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作