一、原型prototype

  • 构造函数通过原型分配的函数是所有对象所共享的

  • JavaScript规定,每一个构造函数都有一个prototype属性,指向另一个对象,注意这个prototype就是个对象,这个对象的所有属性和方法,都会被构造函数所拥有。

  • 我们可以把那么不变的方法,直接定义在prototype对象上,这样所有对象的实例就可以共享这些方法。

二、构造函数、实例和原型之间的关系

三、原型链

  • 当访问一个对象的属性(包括方法)时,首先查找这个对象自身有没有这个属性;
  • 如果没有就查找它的原型(也就是__proto__指向的prototype原型对象)
  • 如果还没有就查找原型对象的原型
  • 依次类推一直找到Object为止

    以下为控制台输出实例:

四、类

  • 类的本质是function
  • 类的所有方法都定义在类的prototype属性上
  • ES6中的类其实是语法糖

构造函数原型prototype相关推荐

  1. js自定义类,混合的构造函数/原型方式

    "混合的构造函数/原型方式" 用构造函数来定义非函数属性,用原型方式定义对象的函数属性,结果所有函数都只创建一次,而每个对象都具有自由的对象属性实例.  function ocar ...

  2. JavaScript中的原型prototype及原型链

    原型prototype 简介: prototype里面放置了一种类的公用的方法(构造函数:constructor)和类的信息.因此可以用来作为一种类的共享数据实现机制.这种共享的另一个好处的是减少了内 ...

  3. 构造函数 + 原型链继承 + 临摹面向对象模式的canvas动画框架

    感谢谢帅shawn分享的canvas动画框架,我再来分一次 //动画框架 http://neekey.net/blog/2011/05/11/canvas-%E7%AE%80%E5%8D%95%E5% ...

  4. JavaScript 面向对象编程(二) —— 构造函数 / 原型 / 继承 / ES5 新增方法

    本篇为 JavaScript 进阶 ES6 系列笔记第二篇,将陆续更新后续内容.参考:JavaScript 进阶面向对象 ES6 :ECMAScript 6 入门 : Javascript 继承机制的 ...

  5. js构造函数(原型链)及Es6的class类

    js函数 首先弄明白何为函数呢,函数简单的说就是重复执行的代码块.函数是这样的一段JavaScript 代码,它只定义一次,但可能被执行或调用任意次. 函数的定义方式: 1.声明式函数定义: func ...

  6. JS高级进阶总结day01---面向对象编程介绍,new的工作原理以及构造函数,原型对象,实力函数三者之间的关系

    02-面向对象编程 1.1-面向对象编程介绍 本小节知识点 1.理解什么是面向对象编程 面向对象不是一门技术,而是一种解决问题的思维方式 面向对象的本质是对面向过程的一种封装 2.理解什么是对象 对象 ...

  7. 浅谈JavaScript中的原型prototype

    之前看过一些关于原型的知识,但总是看了以后没有及时应用,导致再看到一些代码是遇到还是搞不清楚,借此机会谈一下我对prototype的理解. 1.再谈原型之前,我们要知道什么是构造器函数,型如下例: f ...

  8. JavaScript原型Prototype详情

    文章来源: 学习通http://www.bdgxy.com/ 目录 1.概述 1.1原型是什么 1.2获取原型 2.原型属性 2.1利用原型添加属性与方法. 2.2访问原型属性原型方法 3.自有属性与 ...

  9. 原型prototype

    今天给大家浅浅的总结一下学到的prototype与__proto__:后面的问题总结是在B站看了一个学习视频,照着老师总结下来的,眼熟的友友们请直接拿走不谢~~         prototype 概 ...

最新文章

  1. 关于学习Python的一点学习总结(24->列表推导)
  2. 周志华教授专著《集成学习:基础与算法》上市,破解AI实践难题
  3. 超越百度的口罩检测算法
  4. java断言assert初步使用:断言开启、断言使用
  5. php 4位数字不足补零,php实现数字不足补0的方法
  6. aix系统升级失败提示java_AIX系统补丁升级失败处理
  7. qt创建右键菜单,显示在鼠标点击处
  8. C语言入门水题总结2
  9. Netty粘包拆包问题说明、演示拆包粘包情况代码以及解决
  10. 沃尔玛牵手Gatik推行自动驾驶试点项目 为客户配送订单
  11. python制作表格的语句_python根据Excel自动生成创建表sql语句
  12. linux HZ 值_Linux操作系统中进程的操作命令(ps,kill,keep)
  13. 面向生态合作伙伴的实践分享回顾
  14. 二维码扫码登陆流程设计
  15. LQR控制基本原理(包括Riccati方程具体推导过程)
  16. QT图形显示和处理7
  17. css banner滚动,css编写banner轮播
  18. Vue怎么操作父元素、兄弟元素、子元素
  19. 【HTML5】网页实用技巧3:将方形图片设置成圆形后,添加圆形虚线边框
  20. c语言字符统计2sdut,C语言实验——单词统计(字符串) SDUT

热门文章

  1. MySQL DQL加强知识整理
  2. Egret手机游戏战争迷雾
  3. Flat-Lattice-Transformer模型源码测试
  4. html5游戏开发前景预测 业内人士称潜力大发展快
  5. Go关键字--if else
  6. 为什么电流镜的复制电路是二极管结构?
  7. 发射接收模块与示波器
  8. 易优cms已成最流行的建站程序
  9. 创业需要MVP(Minimum Viable Product,即“最小化可行产品”)
  10. python计算某个数的阶乘