详解一个小实例理解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 相关文章推荐
In Javascript Class, how to call the prototype method.(three method)
Jan 09 Javascript
自动设置iframe大小的jQuery代码
Sep 11 Javascript
jquery 实现返回顶部功能
Nov 17 Javascript
javascript定义变量时带var与不带var的区别分析
Jan 12 Javascript
jquery京东商城双11焦点图多图广告特效代码分享
Sep 06 Javascript
基于vue的fullpage.js单页滚动插件
Mar 20 Javascript
mongoose中利用populate处理嵌套的方法
May 26 Javascript
React Native中TabBarIOS的简单使用方法示例
Oct 13 Javascript
值得收藏的八个常用的js正则表达式
Oct 19 Javascript
实例讲解JS中pop使用方法
Jan 27 Javascript
微信小程序 wx.getUserInfo引导用户授权问题实例分析
Mar 09 Javascript
vue实现下载文件流完整前后端代码
Nov 17 Vue.js
微信小程序实现的一键复制功能示例
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
php利用cookie实现访问次数统计代码
2011/05/19 PHP
php结合js实现点击超链接执行删除确认操作
2014/10/31 PHP
简单实现php上传文件功能
2017/09/21 PHP
解析John Resig Simple JavaScript Inheritance代码
2012/12/03 Javascript
jquery获取特定name所有选中的checkbox,支持IE9标准模式
2013/03/18 Javascript
onkeydown事件解决按回车键直接提交数据的需求
2013/04/11 Javascript
js实现仿百度汽车频道选择汽车图片展示实例
2015/05/06 Javascript
jQuery的bind()方法使用详解
2015/07/15 Javascript
Javascript页面跳转常见实现方式汇总
2015/11/28 Javascript
JavaScript检测原始值、引用值、属性
2016/06/20 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
vue-router路由简单案例介绍
2017/02/21 Javascript
用Vue.extend构建消息提示组件的方法实例
2017/08/08 Javascript
axios post提交formdata的实例
2018/03/16 Javascript
javascript实现蒙版与禁止页面滚动
2020/01/11 Javascript
使用 UniApp 实现小程序的微信登录功能
2020/06/09 Javascript
[04:05]TI9战队采访 - Natus Vincere
2019/08/22 DOTA
python中List的sort方法指南
2014/09/01 Python
Python中使用tarfile压缩、解压tar归档文件示例
2015/04/05 Python
Python更新数据库脚本两种方法及对比介绍
2017/07/27 Python
对numpy的array和python中自带的list之间相互转化详解
2018/04/13 Python
Python实现Event回调机制的方法
2019/02/13 Python
详解python程序中的多任务
2020/09/16 Python
css3进阶之less实现星空动画的示例代码
2019/09/10 HTML / CSS
澳大利亚领先的在线葡萄酒零售商:Get Wines Direct
2018/03/27 全球购物
前台接待岗位职责
2013/12/03 职场文书
职业生涯规划书的格式
2013/12/29 职场文书
环卫工人节活动总结
2014/08/29 职场文书
一次性工伤赔偿协议书范本
2014/11/25 职场文书
2014年政府采购工作总结
2014/12/09 职场文书
城管年度个人总结
2015/02/28 职场文书
2015法院个人工作总结范文
2015/05/25 职场文书
《棉鞋里的阳光》教学反思
2016/02/20 职场文书
python实现简单的名片管理系统
2021/04/26 Python
人物搭配车车超萌联名预备中 【咒术迴战】 ⨯ 【天竺鼠车车】 展开合作
2022/04/11 日漫
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS