构造函数原型prototype
一、原型prototype
构造函数通过原型分配的函数是所有对象所共享的。
JavaScript规定,每一个构造函数都有一个prototype属性,指向另一个对象,注意这个prototype就是个对象,这个对象的所有属性和方法,都会被构造函数所拥有。
我们可以把那么不变的方法,直接定义在prototype对象上,这样所有对象的实例就可以共享这些方法。
二、构造函数、实例和原型之间的关系
三、原型链
- 当访问一个对象的属性(包括方法)时,首先查找这个对象自身有没有这个属性;
- 如果没有就查找它的原型(也就是__proto__指向的prototype原型对象)
- 如果还没有就查找原型对象的原型
- 依次类推一直找到Object为止
以下为控制台输出实例:
四、类
- 类的本质是function
- 类的所有方法都定义在类的prototype属性上
- ES6中的类其实是语法糖
构造函数原型prototype相关推荐
- js自定义类,混合的构造函数/原型方式
"混合的构造函数/原型方式" 用构造函数来定义非函数属性,用原型方式定义对象的函数属性,结果所有函数都只创建一次,而每个对象都具有自由的对象属性实例. function ocar ...
- JavaScript中的原型prototype及原型链
原型prototype 简介: prototype里面放置了一种类的公用的方法(构造函数:constructor)和类的信息.因此可以用来作为一种类的共享数据实现机制.这种共享的另一个好处的是减少了内 ...
- 构造函数 + 原型链继承 + 临摹面向对象模式的canvas动画框架
感谢谢帅shawn分享的canvas动画框架,我再来分一次 //动画框架 http://neekey.net/blog/2011/05/11/canvas-%E7%AE%80%E5%8D%95%E5% ...
- JavaScript 面向对象编程(二) —— 构造函数 / 原型 / 继承 / ES5 新增方法
本篇为 JavaScript 进阶 ES6 系列笔记第二篇,将陆续更新后续内容.参考:JavaScript 进阶面向对象 ES6 :ECMAScript 6 入门 : Javascript 继承机制的 ...
- js构造函数(原型链)及Es6的class类
js函数 首先弄明白何为函数呢,函数简单的说就是重复执行的代码块.函数是这样的一段JavaScript 代码,它只定义一次,但可能被执行或调用任意次. 函数的定义方式: 1.声明式函数定义: func ...
- JS高级进阶总结day01---面向对象编程介绍,new的工作原理以及构造函数,原型对象,实力函数三者之间的关系
02-面向对象编程 1.1-面向对象编程介绍 本小节知识点 1.理解什么是面向对象编程 面向对象不是一门技术,而是一种解决问题的思维方式 面向对象的本质是对面向过程的一种封装 2.理解什么是对象 对象 ...
- 浅谈JavaScript中的原型prototype
之前看过一些关于原型的知识,但总是看了以后没有及时应用,导致再看到一些代码是遇到还是搞不清楚,借此机会谈一下我对prototype的理解. 1.再谈原型之前,我们要知道什么是构造器函数,型如下例: f ...
- JavaScript原型Prototype详情
文章来源: 学习通http://www.bdgxy.com/ 目录 1.概述 1.1原型是什么 1.2获取原型 2.原型属性 2.1利用原型添加属性与方法. 2.2访问原型属性原型方法 3.自有属性与 ...
- 原型prototype
今天给大家浅浅的总结一下学到的prototype与__proto__:后面的问题总结是在B站看了一个学习视频,照着老师总结下来的,眼熟的友友们请直接拿走不谢~~ prototype 概 ...
最新文章
- 关于学习Python的一点学习总结(24->列表推导)
- 周志华教授专著《集成学习:基础与算法》上市,破解AI实践难题
- 超越百度的口罩检测算法
- java断言assert初步使用:断言开启、断言使用
- php 4位数字不足补零,php实现数字不足补0的方法
- aix系统升级失败提示java_AIX系统补丁升级失败处理
- qt创建右键菜单,显示在鼠标点击处
- C语言入门水题总结2
- Netty粘包拆包问题说明、演示拆包粘包情况代码以及解决
- 沃尔玛牵手Gatik推行自动驾驶试点项目 为客户配送订单
- python制作表格的语句_python根据Excel自动生成创建表sql语句
- linux HZ 值_Linux操作系统中进程的操作命令(ps,kill,keep)
- 面向生态合作伙伴的实践分享回顾
- 二维码扫码登陆流程设计
- LQR控制基本原理(包括Riccati方程具体推导过程)
- QT图形显示和处理7
- css banner滚动,css编写banner轮播
- Vue怎么操作父元素、兄弟元素、子元素
- 【HTML5】网页实用技巧3:将方形图片设置成圆形后,添加圆形虚线边框
- c语言字符统计2sdut,C语言实验——单词统计(字符串) SDUT