一、原型
1.原型对象prototype的定义
javascript中的每个对象都有prototype属性,Javascript中对象的prototype属性的解释是:返回对象类型原型的引用。
每一个构造函数都有一个属性叫做原型。这个属性非常有用:为一个特定类声明通用的变量或者函数。
每一个函数对象都有一个prototype属性,但是普通对象是没有的。可以把公用的属性和方法,直接定义在prototype对象属性。
普通对象:字符串、数组、数字…
函数对象:function
在 JavaScript 中,对象是拥有属性和方法的数据。
2.原型对象属性
原型对象中包含两个属性:constructor和__proto__。
constructor这个属性是指创建原型的函数,它指向函数本身。
所有的对象都包含一个属性隐式原型(proto)。
注意:函数才有prototype,实例对象只有__proto__。
二、原型链
每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针,让这个原型对象(子的原型)等于要继承的引用类型(父)的实例,由于引用类型(父)的实例包含一个指向(父)原型对象的内部指针,以此类推,层层递进,便构成实例与原型的链条,即原型链。

prototype 原型相关推荐

  1. JavaScript 面向对象 (prototype 原型模式)

    一. JavaScript 设计思想 1994年,网景公司(Netscape)发布了Navigator浏览器0.9版.这是历史上第一个比较成熟的网络浏览器,轰动一时.但是,这个版本的浏览器只能用来浏览 ...

  2. Prototype原型模式(创建型模式)

    1.原型模式解决的问题 现在有一个抽象的游戏设施建造系统,负责构建一个现代风格和古典风格的房屋和道路. 前提:抽象变化较慢,实现变化较快(不稳定) 整个抽象的游戏设施建造系统相对变化较慢,本例中只有一 ...

  3. C++设计模式-Prototype原型模式

    作用: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. Prototype模式提供了一个通过已存在对象进行新对象创建的接口(Clone), Clone()实现和具体的语言相关,在C+ ...

  4. Object.prototype 原型和原型链

    Object.prototype 原型和原型链 原型 Javascript中所有的对象都是Object的实例,并继承Object.prototype的属性和方法,有些属性是隐藏的.换句话说,在对象创建 ...

  5. 三分钟带你看懂prototype原型——ES6进阶

    三分钟带你看懂prototype原型--ES6进阶 1. prototype 定义 2. new 构造函数 3. 存储 4. prototype 作用 1. prototype 定义 在JS中的类的实 ...

  6. javascript中的prototype原型、_proto_属性、原型链

    prototype原型 JavaScript是面向对象的语言,那么继承自然是其重要特征之一.与标准面向对象语言不同,JavaScript继承主要通过prototype原型实现.每一个函数都具有prot ...

  7. prototype (原型) 属性

    转自:https://www.jianshu.com/p/4f87d28923ce 这篇文章是基于 <<JavaScript 高级程序设计>>第六章面向对象的程序设计 6.2. ...

  8. Prototype 原型模式

    一.意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象.(Specify the kinds of objects to create using a prototypical in ...

  9. javascript es6 属性 __proto__ prototype 原型链 简介

    目录 prototype __proto__ 原型链 构造函数创建对象实例 今天同事小英童鞋问了我一个问题: function Foo(firstName, lastName){this.firstN ...

  10. prototype原型模式

    /** * 原型模式 Prototype * 用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象 */ 需求: public class Resume { /** * 要求:一个简历类,必须 ...

最新文章

  1. Android项目实战(四):ViewPager切换动画(3.0版本以上有效果)
  2. IDEA解决SSM项目的静态资源路径问题:HTML,CSS,JS--详解
  3. 安装教程-VMware 12 安装 Windows 10 企业版
  4. 360健康助手文件存储位置 获取图片
  5. redis主从的配置和使用
  6. 利用CSS实现悬停下拉菜单
  7. 智能录音笔完成全系列布局,科大讯飞还发了一款转写翻译智能耳机
  8. 电路调试之_稳压管,三端稳压的反向二极管,三级管的基极耐压
  9. 电脑键盘灯光的调节方法
  10. 做SEO优化第十二步:网站优化推广方案
  11. 使用Axis2实现WebService的发布和调用
  12. 超全详解2018 谷歌 I/O大会
  13. 物联网--ESP32开发笔记(2) domoticz mqtt的一些坑的记录
  14. 联想服务器SR650升级网卡固件微码
  15. weblogic11g 后台无需密码启动设置
  16. 华为鸿蒙亮利剑,华为P50pro亮利剑,鸿蒙OS+徕卡五摄+5400mAh,这才是华为
  17. 蓝牙【GATT】协议介绍
  18. MiniGui打开GridView控件
  19. CToolBar的使用总结(转)
  20. html输入页码跳转,WordPress分页导航添加输入页码跳转功能

热门文章

  1. BPL 和动态加载包
  2. OpenWRT 教程 之 设置网络和无线
  3. java中的逆变、协变、不变概念讲解转载自http://www.cnblogs.com/en-heng/p/5041124.html,感谢编程路上的前辈们!
  4. 4G+GPS天线+MQTT连接湖畔云,上传GPS信息
  5. 帝国CMS仿hao123漫画网站模板动态版
  6. 爬虫 :urllib库的用法,关于 request,parse模块总结
  7. mysql自定义函数的优缺点_浅谈MySQL创建自定义函数漏洞的利用和防止
  8. 修改userdata的分区大小
  9. oracle 层次查询 connect by
  10. 练习4-7 求e的近似值 (15 分)