希望通过比较通俗易懂的讲解和简短的文字,让大家能快速理解什么是原型链,如果有不对的地方也请各位大佬快速纠正,一起共勉,使我们初学者快速进阶!

话不多说,我们切入正题,按着我的步骤一步一步往下看,或许你会有一定的了解。

1.在javaScript中,我们知道对于一个对象我们用Object表示,而函数用Function表示。在我们学习一些资料的时候,有时会出现__proto__和prototype两个有点不易理解的属性,我在这里告诉大家要区分[对于__proto__是对象或者实例(new出来的)特有的属性,而prototype是Function特有的]。

2.那什么是原型链呢?就是比如一个对象有__proto__的属性,他会指向对象的原型,对象的原型又是对象的话,那他又有__proto__,然后他又会向上去找对应的原型,直到找到Object对象的原型的时候,就结束了,整个一条感觉链子一样的东西,我们称他为原型链。

3.那可能你要问了prototype是干嘛的?他是实例的构造函数特有的也指向对象的原型,然后也是通过一步一步往上寻找,直到object的原型为止。

4.这东西有什么用呢?

我们在用继承的时候就会用到,还有一些设计模式中也会提到,具体大家可以搜下度娘,这里就不一一陈述了。

配个图用于理解

最后感谢大家的阅读,也希望大家能一起探索前端的未知。

原型链的理解_javascript之快速理解(原型链)相关推荐

  1. 初步了解区块链技术落地——FISCO BCOS 快速搭建区块链

    区块链端口 p2p_port: 节点通信端口. channel_port: SDK 通知协议交换端口,使用的 SSL. jsonrpc_port: http接口包含的此协议,网络明文. 官方教程 ht ...

  2. 快速了解区块链六大特点

    随着区块链技术的不断发展革新以及国家政策的不断支持,区块链技术成为目前头部企业都在积极发展布局区块链技术应用.区块链通过加密算法.点对点网络.共识算法等技术,大大减少了交易的中间环节以及费用和复杂度. ...

  3. JavaScript原型彻底理解2---继承中的原型链

    一.继承的概念 继承是所有的面向对象的语言最重要的特征之一.大部分的oop语言的都支持两种继承:接口继承和实现继承.比如基于类的编程语言Java,对这两种继承都支持.从接口继承抽象方法 (只有方法签名 ...

  4. JavaScript面向对象——深入理解默认的继承方式原型链

    描述: 正如我们所了解,JavaScript中的每个函数中都有一个指向某一对象的prototype属性.该函数被new操作符调用时会创建并返回一个对象,并且该对象中会有一个指向其原型对象的秘密链接,通 ...

  5. BlockChain:《Blockchain Gate》听课笔记——区块链的共识机制—简介、理解、畅谈

    BlockChain:<Blockchain Gate>听课笔记--区块链的共识机制-简介.理解.畅谈 以下资源为各种渠道的网络收集和个人总结 目录 区块链--比特币中的共识机制 现阶段区 ...

  6. 三分钟快速理解javascript内存管理

    javascript中具有垃圾自动回收机制(Garbage Collection),也就是执行环境会负责管理代码执行过程中使用的内存,在开发过程中就可以不考虑内存的分配,以及无用内存释放的问题.但是触 ...

  7. 深入理解Javascript中构造函数和原型对象的区别

    在 Javascript中prototype属性的详解 这篇文章中,详细介绍了构造函数的缺点以及原型(prototype),原型链(prototype chain),构造函数(constructor) ...

  8. SpringMVC:学习笔记(1)——理解MVC及快速入门

    SprigMVC-理解MVC及快速入门 说明: 传统MVC-->JSPModel2-->Front Controller + Application Controller + Page C ...

  9. 英语前后缀大全 - 快速理解英语单词

    作为程序员离不开和英语单词打交道,而基础弱的人面对庞大的单词量只会望而却步.收集了大量英语前后缀,用以帮助快速理解英语单词! 前缀 一. 表示否定的前缀 dis-加在名词.形容词,动词之前. disa ...

最新文章

  1. 无法想mysql进行插入_mysql 无法插入中文
  2. NK3C程序资源占用分析
  3. Cloudstreams: 云间整合的下一个挑战
  4. 视觉中国、IC photo被责令暂停服务全面整改
  5. 容器大小_C++复习篇(7)序列式容器vector
  6. pyspark 条件_删除pyspark中特定条件下的特定行
  7. django在linux一直跑
  8. 查找算法之六 哈希查找(C++版本)
  9. QQ音频文件服务器,unlock-music:支持解密网易云/QQ音乐的加密文件和ID3信息补全...
  10. 嵌入式开发Verilog教程(三)——Verilog HDL基本语法汇总(上)
  11. ps中基色 混合色 结果色是什么
  12. 从零开始学JavaScript——基础篇
  13. 新年贺卡php,幼儿新年贺卡内容 元旦贺卡图片手工制作
  14. 关于FS4412的ARM开发环境搭建并点亮LED灯
  15. MogileFS部署流程
  16. MongoDB数据迁移之迁移工具Kettle
  17. 通过VM虚拟机安装linux系统(centos版本)
  18. 多晴转云h_多晴转云htxt百度云
  19. 计算机技术翻译工作,中文翻译成英文- 学习及工作经历2004年4月 中国计算机函授学院计算机专业专科毕业;...
  20. 20.移植Freetype字体库

热门文章

  1. .NET Core开发日志——HttpClientFactory
  2. 使用 BenchmarkDotnet 测试代码性能
  3. 基于OIDC(OpenID Connect)的SSO
  4. C# 对程序窗口进程和进程ID
  5. 剑指offer之二叉搜索树的第K个节点
  6. linux环境下用TcpDump抓包分析总结
  7. linux命令 su和sudo,Linux中sudo和su的区别
  8. java mysql数据去重_java使用MySQL和HQL数据去重
  9. access函数_ACCESS中的DLookUp函数是如何运算的?
  10. r vector 4 elements_Vector类与Enumeration接口