位置: 编程技术 - 正文

JavaScript模拟实现封装的三种方式及写法区别(js模拟登录网站)

编辑:rootadmin

推荐整理分享JavaScript模拟实现封装的三种方式及写法区别(js模拟登录网站),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript可以模拟动画吗,javascript模拟器,js模拟post,js模拟post,javascript模拟登录,js模拟接口,js模拟接口,js模拟用户操作,内容如对您有帮助,希望把文章链接给更多的朋友!

前 言

  继承是使用一个子类继承另一个父类,那么子类可以自动拥有父类中的所有属性和方法,这个过程叫做继承! JS中有很多实现继承的方法,今天我给大家介绍其中的三种吧。

1.在 Object类上增加一个扩展方法

上述实现继承的原理:

通过循坏,将父类对象的所有属性和方法,全部赋给子类对象。关键点在于for-in循坏,即使不扩展Object,也能通过简单的循坏实现操作。

但是用这种方法实现继承也有一些缺点:

①无法通过一次实例化,直接拿到完整的子类对象。而需要先拿到父类对象和子类对象两个对象,再手动合并;

②扩展Object的继承方法,也会保留在子类的对象上。

再来看看第二种实现继承的方法吧~

2.使用原型继承

在介绍这种方法之前先来说两个概念:原型对象与原型

1、prototype:函数的原型对象

①只有函数才有prototype,而且所有函数必有prototype

②prototype本身也是一个对象!

③prototype指向了当前函数所在的引用地址!

2、__proto__:对象的原型!

JavaScript模拟实现封装的三种方式及写法区别(js模拟登录网站)

①只有对象才有__proto__,而且所有对象必有__proto__

②__proto__也是一个对象,所以也有自己的__proto__,顺着这条线向上照的顺序,就是原型链。

③函数、数组都是对象,都有自己的__proto__

使用原型继承的原理:

将父类对象,赋值给子类的prototype,那么父类对象的属性和方法就会出现在子类的prototype中。那么,实例化子类时,子类的prototype又会到子类对象的__proto__中,最终,父类对象的属性和方法,会出现在子类对象的__proto__中。

这种继承的特点:

①子类自身的所有属性都是成员属性,父类继承过来的属性都是原型属性。

②依然无法通过一步实例化拿到完成的子类对象。

第三种实现继承的方法:

call()和apply()还有bind(),这三种方法很相似,只有在传参方面有所不同。

三个函数的唯一区别,在于接受func的参数列表的方式不同,除此之外,功能上没有任何差异!

三个函数的写法(区别):

call写法:func.call(func的this指向的obj,func参数1,func参数2,...);

apply写法:func.apply(func的this指向的obj,[func参数1,func参数2,...]);

bind写法:func.bind(func的this指向的obj)(func参数1,func参数2,...);

总结

以上所述是小编给大家介绍的JavaScript模拟实现封装的三种方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

Popup弹出框添加数据实现方法 本文实例为大家分享了Popup弹出框添加数据的具体代码,供大家参考,具体内容如下逻辑窗口P1中显示一组数据,并提供一个添加按钮点击按钮,弹出新

JavaScript自执行函数和jQuery扩展方法详解 我们通常将JS代码写在一个单独的JS文件中,然后在页面中引入该文件。但是,有时候引入后会碰到变量名或函数名与其它JS代码冲突的问题。那么如何

JavaScript中Require调用js的实例分享 在我最初开始写JavaScript函数时,通常是这样的:functionfun1(){//somecodehere}functionfun2(){//someothercodehere}...函数全写在全局环境中,项目很小时,通常不会有

标签: js模拟登录网站

本文链接地址:https://www.jiuchutong.com/biancheng/368450.html 转载请保留说明!

上一篇:javascript浏览器用户代理检测脚本实现方法(JavaScript浏览器打开)

下一篇:Popup弹出框添加数据实现方法(popupwindow底部弹出)

  • 企业注销,账面余额怎样调账
  • 销项税能抵扣么
  • 在建工程应交税费会计分录
  • 买二手房为什么要交个人所得税
  • 个人交的社保发票怎么开
  • 支付股东借款利息怎么交税
  • 收到返还利润可以抵扣吗
  • 应交税费里的应交企业所得税意思是交了吗
  • 企业增值税留抵退税新闻稿范文
  • 以前年度补交的税款进什么科目?
  • 无车承运业务如何开展
  • 预付股权转让款如何处理
  • 电脑专用电源转换器
  • bios读取不出u盘
  • 营业外支出是否需要发票
  • 包装物押金收入含税吗
  • 公司购买预付卡送礼怎么入账
  • 000.exe病毒
  • xampp如何运行php项目
  • 加班车费报销计入什么科目
  • 应收账款保理的主要意图在于
  • 出口企业增值税怎么算
  • php对象缓存
  • 离职后原单位不给开离职证明
  • 扣缴义务人应扣未扣如何处罚
  • 私有化部署chatGPT,告别网络困扰
  • mac环境搭建
  • img标签怎么写
  • php实现查询功能
  • 承兑贴现会计分录怎么做
  • javascript怎么用
  • 遮天传官网
  • vue中解决跨域问题
  • php给图片加水印
  • 补缴以前年度公积金账务处理
  • 费用报销单票据怎么填
  • python代码用什么运行
  • 数据库管理中负责数据模式定义的数据库语言是
  • 航天金税盘发票冲红怎么操作
  • 会务费如何入账
  • sqlserver2016维护计划
  • 收到提供劳务的收入
  • 银行对帐单
  • 增值税达不到起征期
  • 进项税大于销项税,不用缴纳增值税
  • 以前年度损益调整借贷方向
  • 为什么说运输是实现物流合理化的关键
  • 事业单位哪些收入要上交国库
  • 税控盘全额抵扣怎么填申报表
  • 银行承兑汇票贴现利息怎么算
  • 集团公司向下属发评先奖金合法吗
  • 利润分配明细科目有哪些
  • 高温补贴发放管理制度
  • 政府补助计入资本公积吗
  • 员工话费实报实销分录
  • 进出口企业外汇额度
  • 销售固定资产怎么做账务处理
  • 汽车折旧计算方法2023折旧率
  • 代理进口业务会计分录
  • SQL普通表转分区表的方法
  • 老毛桃u盘启动制作工具如何把原来的win7改xp系统图文教程
  • win10怎么用ghost
  • ntfs跟fat32
  • linux ultrasphinx Anonymous modules have no name to be referenced by
  • 利用windows资源管理
  • 快速锁定单元格的方法
  • ubuntu系统怎么用
  • windows xp windows
  • 苹果官网入口
  • Win10系统里的Smartscreen筛选器的使用以及开启方法
  • 如何在win7上打开win10软件
  • linux怎么调用python
  • cocos2dx-3.0(23) ScrollView 缩放 及 touch新用法
  • vuejs单页面
  • 将光标定位于输入端
  • unity网络模块
  • 财税刘毅
  • 国家税务总局石棉县税务局
  • 济南税务局投诉电话多少
  • 申报的销项税额怎么计算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设