一、原型

①所有引用类型都有一个__proto__(隐式原型)属性,属性值是一个普通的对象
②所有函数都有一个prototype(原型)属性,属性值是一个普通的对象
③所有引用类型的__proto__属性指向构造函数的prototype

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

二、原型链

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

举例,有以下代码

function Parent(month){this.month = month;
}var child = new Parent('Ann');console.log(child.month); // Annconsole.log(child.father); // undefined

在child中查找某个属性时,会执行下面步骤

访问链路为:

①一直往上层查找,直到到null还没有找到,则返回undefined
Object.prototype.__proto__ === null
③所有从原型或更高级原型中的得到、执行的方法,其中的this在执行时,指向当前这个触发事件执行的对象

【原型和原型链】什么是原型和原型链相关推荐

  1. 【区块链Go语言实现】区块链基本原型

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 0x00 介绍 区块链(Blockchain)是21世纪最具革命性的技术之一,目前它仍处于逐渐成熟阶段,且其发展潜力尚未 ...

  2. js原型和原型链_重学js --原型与原型链

    一.什么是原型: .每个对象都有一个__proto__属性,并且指向它的prototype原型对象 每个构造函数都有一个prototype原型对象 prototype原型对象里的constructor ...

  3. 区块链java语言,基于Java语言构建区块链(一)—— 基本原型

    引言 区块链技术是一项比人工智能更具革命性的技术,人工智能只是提高了人类的生产力,而区块链则将改变人类社会的生产关系,它将会颠覆我们人类社会现有的协作方式.了解和掌握区块链相关知识和技术,是我们每位开 ...

  4. java 原型图_一张图搞懂原型、原型对象、原型链

    基本概念 在javascript中,函数可以有属性. 每个函数都有一个特殊的属性叫作原型(prototype) 每个对象拥有一个原型对象 [[Prototype]] / __proto__ / Obj ...

  5. 真丶深入理解 JavaScript 原型和原型链(二):原型和原型链

    原文地址: https://www.jeremyjone.com/745/,转载请注明. 上一篇文章已经总结了关于原型的两个属性,那么接下来所有原型和原型链,乃至后面的继承,都与这两个属性有关系. 原 ...

  6. 【原型链】JS中的原型链到底是什么

    1.构造函数 JS中的构造函数和普通函数没有本质区别,要用调用方式的不同来区分. 在调用构造函数时要用new Func()的方法来调用,此时函数会默认返回this 为了与普通函数区分,构造函数的函数名 ...

  7. java解析axure原型rp文件,Axure RP 8 教程 – 查看原型

    Axure小白的福利又来了,本教程主要讲述查看原型的一系列基础操作以及相关设置. 希望大家边学边操作,学习效果更佳哦. Axure RP 8 教程 – 查看原型 1.快速预览查看原型 快速原型的快捷键 ...

  8. 中后台管理信息系统通用原型方案_AxureUX客户关系管理系统后台设置中心原型模板正式发布...

    作品名称:AxureUX客户关系管理系统后台原型模板 作品类型:模板类 发布日期:2019-07-22 当前版本:v1.0 主要适用:Web端 软件版本:Axure 8 文件大小:7.5MB 作品编号 ...

  9. 商城前后端原型、商城prd文档、商城后台管理系统、商城app文档、电商需求文档、限时秒杀、电商平台、促销助力、拼团抽奖、电商文档、prd文档、电商前后端原型、电商原型、Axure电商系统、rp原型

    商城前后端.商城prd文档.商城后台管理系统.商城app文档.电商需求文档.限时秒杀.电商平台.促销助力.拼团抽奖.电商文档.prd文档.电商前后端原型.电商原型.Axure电商系统.rp原型 Axu ...

  10. 生鲜电商/社区团购/团长中心、地址管理、自提点、订单列表、限时折扣、预售、会员储值、钱包、同城配送、门店自提、团长自提、采购、履约、仓储、运输、财务、移动端电商原型、rp源文件、axure电商原型

    生鲜电商/社区团购/团长中心.地址管理.自提点.订单列表.限时折扣.预售.会员储值.钱包.同城配送.门店自提.团长自提.采购.履约.仓储.运输.财务.移动端电商原型.rp源文件.axure电商原型 A ...

最新文章

  1. turtlebot雷达模块
  2. 《LoadRunner 12七天速成宝典》—第2章2.6节第二个性能测试案例
  3. 卖金鱼的地方_1个水族店,5个周转箱,卖鲫鱼和泥鳅,老板对水族的热爱
  4. python初学者怎么找工作_学python找工作好找吗
  5. 字节教育大裁员:有员工赔了一套首付款!
  6. How to stop looking for someone perfect and find someone to love
  7. vb.net同步服务器文件,vb.net - VB.NET - 如何以编程方式将身份验证传递给服务器 - 如何访问需要身份验证的服务器上的文件 - 堆栈内存溢出...
  8. 计算机快捷键屏幕保护是什么,电脑屏保快捷键.pptx
  9. Topaz Video Enhance AI(ai视频画质增强软件)官方正式版V2.2.0 | AI视频放大软件下载 | 视频画质怎么变清晰?
  10. 访问共享盘,无法访问,您可能没有权限使用网络资源,请与这台服务器的管理员联系以查明您是否有访问权限。...
  11. 1209 实验三同学评论
  12. 接口区分Android和iOS吗,区分IOS和Android
  13. PS示例教程:如何用Photoshop打磨质感水晶风格图标
  14. (附源码)springboot物联网智能管理平台 毕业设计 2111120
  15. Windows10永久关闭Windows Defender
  16. mysql root误删_mysql 误删root
  17. 利用物联网更好地管理供应链
  18. 2021年3月7日 蚂蚁金服的OceanBase Java后端开发实习面经(一面)
  19. 推荐一个开源电子白板,教学专用。
  20. python处理表格数据教程_利用Python处理Excel数据

热门文章

  1. ant design vue 清空upload组件图片缓存的方法
  2. C++之static及其作用域
  3. 基于Vue的兴趣活动推荐APP的设计与实现_kaic
  4. mysql面试题 亚马逊,8/27 亚马逊笔试题思路
  5. Oracle RAC中OCR整个磁盘的故障模拟恢复
  6. 网络安全攻防之缓冲区溢出攻击
  7. FileSaver.js 客户端保存文件的解决方案
  8. python怎么玩_怎么用Python玩GTA5?跟着教程玩!
  9. jdbc@1521:orcl和jdbc@1521/orcl的区别
  10. Linuxvim 中批量添加注释