位置: 编程技术 - 正文

学习javascript面向对象 掌握创建对象的9种方式(javascript要学到什么程度)

发布时间:2024-02-27

推荐整理分享学习javascript面向对象 掌握创建对象的9种方式(javascript要学到什么程度),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript怎么学好,javascript要怎么学,javascript要怎么学,javascript学到什么程度,javascript要学到什么程度,javascript学了有什么用,javascript怎么学,javascript学了有什么用,内容如对您有帮助,希望把文章链接给更多的朋友!

本文为大家分享了javascript创建对象的9种方式,供大家参考,具体内容如下

【1】使用Object构造函数[缺点]使用同一个接口创建很多对象,会产生大量重复代码

【2】使用对象字面量[缺点]使用同一个接口创建很多对象,会产生大量重复代码

【3】工厂模式:抽象了创建具体对象的过程,考虑到ECMAScript中无法创建类,开发人员就发明了一种函数,用函数来封装以特定接口创建对象的细节  [缺点]解决了创建多个相似对象的问题,但没有解决对象识别的问题

【4】构造函数模式:没有显式地创建对象,直接将属性和方法赋给了this对象,没有return语句  [缺点]每个方法都要在每个实例上重新创建一遍

【4.1】构造函数拓展模式:把函数定义转移到构造函数外部[缺点1]在全局作用域中定义的函数实际上只能被某个对象调用,这让全局作用域有点名不副实[缺点2]若对象需要定义很多方法,就要定义很多全局函数,这个自定义引用类型就没有封装性可言

学习javascript面向对象 掌握创建对象的9种方式(javascript要学到什么程度)

【5】原型模式:我们创建的每个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。如果按照字面意思来理解,prototype就是通过调用构造函数而创建的对象实例的原型对象

【5.1】更简单的原型模式:为了减少不必要的输入,也为了从视觉上更好地封装原型的功能,用一个包含所有属性和方法的对象字面量来重写整个原型对象。[缺点]以这种方式重设constructor属性会导致它的[[Enumerable]]特性被设置为true,默认情况下原生的constructor属性是不可枚举的

【5.2】解决enumerable问题的原型模式

[原型模式缺点1]重写原型对象切断了现有原型与已存在对象实例之间的联系,它们引用的仍是最初的原型。

[原型模式缺点2]引用类型属性的共享性问题突出

【6】组合模式:组合使用构造函数模式和原型模式是创建自定义类型的最常见方式。构造函数模式用于定义实例属性,而原型模式用于定义方法和共享的属性。这种混成模式还支持向构造函数传递参数,是用来定义引用类型的一种默认模式

【7】动态原型模式:把所有信息都封装在构造函数中,通过在构造函数中初始化原型(仅在必要情况下),又保持了同时使用构造函数和原型的优点。换句话说,可以通过检查某个存在的方法是否有效,来决定是否要初始化原型。  [注意]使用动态原型模式时,不能使用对象字面量重写原型。如果在已经创建了实例的情况下重写原型,那么就会切断现有实例与新实例之间的联系

【8】寄生构造函数模式:创建一个函数,该函数的作用仅仅是封装创建对象的代码,然后再返回新创建的对象

【寄生构造函数模式应用】创建一个具有额外方法的特殊数组。由于不能直接修改Array构造函数,因此可以使用这个模式

【9】稳妥构造函数模式:所谓稳妥对象指没有公共属性,而且其方法也不引用this的对象。稳妥对象最适合在一些安全环境中(这些环境会禁止使用this和new)或者在防止数据被其他应用程序改动时使用。

标签: javascript要学到什么程度

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

上一篇:学习javascript面向对象 理解javascript对象(javascript如何学)

下一篇:学习javascript面向对象 javascript实现继承的方式(javascript要学到什么程度)

  • 缴纳购销合同印花税怎么算
  • 房屋租赁如何开增值税专用发票
  • 年报补交企业所得税如何写会计分录
  • 电梯的税收筹划怎么做
  • 小规模免征增值税会计处理
  • 一张发票能分开做帐务处理吗
  • 公司贷款利息怎么做分录
  • 新公司成立后税务方面要做的事情有哪些
  • 购进餐饮服务的会计分录
  • 收到境外汇款怎么处理
  • 残值要不要做分录
  • 应收职工欠款属于负债吗
  • 向职工支付职工福利费
  • 房地产企业汇缴清算条件
  • 丢失支票补救措施
  • 结转无形资产账面价值
  • 应付债券利息调整科目理解
  • 私募基金管理人a向投资者推介私募产品,不合规
  • 汽修厂的财务怎样做账
  • 开票的时候确认收入吗
  • 对公账户转法人私人账户用途写什么
  • 拨付所属资金和上级拨付资金
  • 租房押金收不回来怎么做账
  • 征地过程中会产生哪些费用
  • 合同条款签订
  • 公司收到拆迁补偿款要交税吗
  • win10右键个性化打不开 没有与之关联程序
  • 低值易耗品的三级科目有哪些
  • laravel定时任务如何实现的
  • php获取文件内容的函数
  • 固定资产卡片账自固定资产报废后的保管期限是
  • 帮人开票怎么计算税点金额
  • vue 滚动条
  • php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
  • 承租人对融资租赁的处理原则
  • 城市维护建设税是什么意思
  • 科技型中小企业享受优惠税收政策
  • sqlserver2008数据库可疑
  • 没有发票可以先入费用科目吗
  • 一般计税增值税预缴税款怎么算
  • 企业计提五险一金会计分录怎么写
  • 固定资产减少当月计提吗
  • 机器设备可以作为出资方式吗
  • 个体工商营业执照注销需要缴费吗
  • 当月费用次月报销
  • 提前预支工资怎么打条子
  • 什么叫做未入账金额
  • 合同已执行但有错误怎么办
  • 公司购买的商品质量问题能用12315投诉吗
  • 发票每月上报汇总怎么弄
  • 营业利润包括资本化支出吗
  • 管家婆记账可以都有凭证做吗?
  • 小规模纳税人购进税控机的税如何抵扣
  • 租赁费计提部分算入印花税吗
  • 购买银行承兑汇票现金流量表怎么填
  • sqlserver存储过程在哪里
  • win8开机logo
  • window10总更新是怎么回事
  • xp剪贴板怎么打开
  • winxp开机界面后老重启
  • 清理系统休眠文件
  • Linux怎么删除文件第一行
  • centos 安装chia
  • win10无线网络不见了只显示飞行模式
  • 关于windows的开始菜单,叙述错误的是
  • win7系统垃圾手动清理
  • node 发邮件
  • unity 替代
  • js代码不生效
  • 全面解析A型天秤座男
  • 电子发票密码在哪里看
  • 江苏地税个税申报时间表
  • 关税下降的好处
  • 痛点 堵点 难点 盲点
  • 公积金扣800一个月多少钱
  • 车价为150万的进口车型
  • 个人所得税网上报税流程
  • 济宁高新区税务局办税大厅电话
  • 江西鹰潭潭花酒60度
  • 税务登记办法细则
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号