详解一个小实例理解js原型和继承


Posted in Javascript onApril 24, 2019

导语1:一个构造函数的原型对象,其实就是这个构造函数的一个属性而已,属性名叫prototype,值是一个对象,对象中有一些属性和方法,所以每个构造函数的实例对象都拥有这些属性和方法的使用权。

导语2:构造函数需要用 new 操作符来调用,它本身没有任何意义,只有实例化后才有生命,当然你也可以把它当普通函数使用,那this就是指向window了(意义不大)。

导语3:对于构造函数实例化出一个对象经历了什么?

我们看下面这个例子:

详解一个小实例理解js原型和继承

这个例子充分说明了,大佬们创造出构造函数这种东西,是有特殊用处的,本身没什么意义,在实例化后瞬间有了生命。

 好了有这些准备工作后,我们开始写一个构造函数+原型用法

废话不多说直接上代码!!!

 详解一个小实例理解js原型和继承

1,这个例子中有个构造函数,名字叫GetElem,参数期望传入的是一个元素的id,可以获取这个id的元素;

2,实例化一个叫domOne的对象,它传入一个实参为:“old”;所以它可以获取这个id为old的元素

3,在构造函数的原型上定义一个方法叫:changeInner 作用是如果传入了实参就用实参来改变元素的内容

4,在构造函数的原型上定义一个方法叫:on作用是根据事件类型和对应函数干一些事情;

domOne这个实例化对象中并没有这两个方法,但是没关系,它的原型对象上拥有啊!!!所以可以直接用;

您一定会问为何不直接把方法写在构造函数中不就省事了?原因是这样的话,每实例化一个对象都要在实例化过程中创建这些方法,

如果实例化太多就消耗性能,而放在原型对象上就只需要做一次。这也是构造函数+原型优于工厂模式的方面。

 最后一张图:

 详解一个小实例理解js原型和继承

方法可以链接起来写的原因是  在每个方法中  return this (this指向的是实例对象,当然可以继续调用它可以调用的方法啦!!!)

以上所述是小编给大家介绍的js原型和继承详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Div Select挡住的解决办法
Aug 07 Javascript
Wordpress ThickBox 添加“查看原图”效果代码
Dec 11 Javascript
对xmlHttp对象方法和属性的理解
Jan 17 Javascript
javaScript(JS)替换节点实现思路介绍
Apr 17 Javascript
Jquery选中或取消radio示例
Sep 29 Javascript
jQuery实现首页顶部可伸缩广告特效代码
Apr 15 Javascript
Angular排序实例详解
Jun 28 Javascript
详解javascript常用工具类的封装
Jan 30 Javascript
vue 表单之通过v-model绑定单选按钮radio
May 13 Javascript
js笔试题-接收get请求参数
Jun 15 Javascript
Vue 3.x+axios跨域方案的踩坑指南
Jul 04 Javascript
JS插件amCharts实现绘制柱形图默认显示数值功能示例
Nov 26 Javascript
微信小程序实现的一键复制功能示例
Apr 24 #Javascript
如何基于vue-cli3.0构建功能完善的移动端架子
Apr 24 #Javascript
解决vue 单文件组件中样式加载问题
Apr 24 #Javascript
vue router 用户登陆功能的实例代码
Apr 24 #Javascript
10个最受欢迎的 JavaScript框架(推荐)
Apr 24 #Javascript
vue.js多页面开发环境搭建过程
Apr 24 #Javascript
小程序实现订单倒计时功能
Apr 23 #Javascript
You might like
将RTF格式的文件转成HTML并在网页中显示的代码
2006/10/09 PHP
Php中用PDO查询Mysql来避免SQL注入风险的方法
2013/04/25 PHP
php有道翻译api调用方法实例
2014/12/22 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
Nigma vs AM BO3 第一场2.13
2021/03/10 DOTA
jQuery技巧大放送 学习jquery的朋友可以看下
2009/10/14 Javascript
jquery下异步提交表单 异步跨域提交表单
2010/11/17 Javascript
js页面跳转常用的几种方式
2010/11/25 Javascript
js 动态为textbox添加下拉框数据源的方法
2014/04/24 Javascript
JQuery的Ajax中Post方法传递中文出现乱码的解决方法
2014/10/21 Javascript
Javascript核心读书有感之词法结构
2015/02/01 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
2015/10/31 Javascript
JS实现回到页面顶部动画效果的简单实例
2016/05/24 Javascript
JS实现根据密码长度显示安全条功能
2017/03/08 Javascript
详解async/await 异步应用的常用场景
2019/05/13 Javascript
vue@cli3项目模板怎么使用public目录下的静态文件
2020/07/07 Javascript
详谈Object.defineProperty 及实现数据双向绑定
2020/07/18 Javascript
Swift中的协议(protocol)学习教程
2016/07/08 Python
tensorflow创建变量以及根据名称查找变量
2018/03/10 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
浅谈python已知元素,获取元素索引(numpy,pandas)
2019/11/26 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
2021/02/20 Python
css3 media 响应式布局的简单实例
2016/08/03 HTML / CSS
DC Shoes官网:美国滑板鞋和服饰品牌
2017/09/03 全球购物
SmartBuyGlasses德国:购买太阳镜和眼镜
2019/08/20 全球购物
师范应届生教师求职信
2013/11/05 职场文书
公司培训心得体会
2014/01/03 职场文书
《月迹》教学反思
2014/02/19 职场文书
人力资源主管职责范本
2014/03/05 职场文书
捐助贫困学生倡议书
2014/05/16 职场文书
“九一八事变纪念日”国旗下讲话稿
2014/09/14 职场文书
2015年平安创建工作总结
2015/04/29 职场文书
爱国主义教育主题班会
2015/08/13 职场文书
关于感恩的素材句子(38句)
2019/11/11 职场文书
读《方与圆》有感:交友方圆有度
2020/01/14 职场文书
原生JS封装vue Tab切换效果
2021/04/28 Vue.js