位置: 编程技术 - 正文

js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)(js面向对象编程的三大特性)

编辑:rootadmin

推荐整理分享js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)(js面向对象编程的三大特性),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js中面向对象编程,js面向对象的三大特性,js面向对象编程实例,js面向对象和面向过程,js面向对象和面向过程,js中面向对象编程,js中面向对象,js面向对象的几种方式,内容如对您有帮助,希望把文章链接给更多的朋友!

在上篇文章给大家介绍了javascript面向对象基础,本篇文章继续深入学习javascript面向对象,JS的语法非常灵活,简单的对象创建就有好几种不同的方法。这些过于灵活的地方有时候确实很让人迷惑,那么今天我们就来梳理一下JS中常用的创建对象的几种方法吧。

前言

虽然使用 Object构造函数 或者使用 对象字面量 可以很方便的用来创建一个对象,但这种方式有一个明显的缺点:使用一个接口创建多个对象会产生很多冗余的代码。因此为了解决这个问题,人们开始使用以下几种方式来常见对象。

工厂模式

该模式抽象了创建对象的具体过程,用函数来以特定接口创建对象的细节

工厂模式测试

工厂方式的问题:使用工厂模式能够创建一个包含所有信息的对象,可以无数次的调用的这个函数。虽然其解决了创建多个相似对象的问题,但却没有解决对象识别的问题(即如何得知一个对象的类型)

构造函数模式

构造函数模式测试

注意构造函数与工厂模式有些不同的地方,如下

构造函数首字母大写

没有显式地创建对象

js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)(js面向对象编程的三大特性)

将属性和方法赋值给了 this 对象

没有return语句

而且以这种方式来调用构造函数会大致经历一下 几个步骤

创建一个新的对象

将构造函数的作用域赋值给这个对象(因此this就指向了这个对象)

执行构造函数中的代码(即给新对象添加属性和方法的过程)

返回对象

注意:构造函数其实和普通的函数没有太大的差别,唯一的不同在于调用方式的不同。以下演示不同的几种调用方式

构造函数的问题:使用构造函数最主要的问题就是每个方法都要在每个实例上重新创建一次,p1与p2的都有show方法,但不是同一个Function的实例,因为function在js中也是一个对象。因此他们共有的show方法并不相等。

原型模式

每个函数都有一个prototype属性,这个属性是一个指针,指向一个对象。而这个对象的用途是 包含可以由 特定类型 的所有 实例 共享的属性和方法。即调用构造函数所创建的那个对象的 原型对象

好处是可以让所有对象的实例共享他的属性的方法。即无需在构造函数中定义实例的信息

以上内容是关于js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式),希望大家喜欢。

初步了解javascript面向对象 前言基于类的对象:我们都知道面向对象的语言中有一个明显的标志,就是都有类的概念,通过类这个类似模板的东西我们可以创建许多个具有相同的

JS实现兼容性较好的随屏滚动效果 本文实例讲述了JS实现兼容性较好的随屏滚动效果。分享给大家供大家参考,具体如下:代码中的参数解释如下:id你要滚动的内容的idl横坐标的位置不

JavaScript识别网页关键字并进行描红的方法 本文实例讲述了JavaScript识别网页关键字并进行描红的方法。分享给大家供大家参考,具体如下:这里演示JavaScript智能识别网页关键字并加红显示出来,

标签: js面向对象编程的三大特性

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

上一篇:JS实现网页每隔3秒弹出一次对话框的方法(js间隔执行的代码)

下一篇:初步了解javascript面向对象(初步了解的英文)

  • 投资性房地产税务上可以计提折旧吗
  • 公司房产税如何
  • 负债与所有者权益比率
  • 个人劳务报酬所得汇算清缴
  • 结转本月完工入库产品制造成本,甲产品800台全部完工
  • 发票开具就能做账了吗
  • 办理税务登记之后
  • 2020年小规模纳税人增值税起征点
  • 测试费用
  • 收到投资款如何写凭证
  • 公司购买厂房需要交房产税吗
  • 已经退款买家不退货怎么办
  • 全资子公司改为独立公司
  • 政府投资计入什么科目
  • 餐饮刷卡机手续费多少
  • 民办幼儿园的经费投入
  • 扶持资金属于政府补助吗
  • 厂区折旧
  • 固定资产减半征收2%申报如何填增值税纳税申报表
  • 出口企业享受增值税优惠政策
  • 银行利息收入要开票吗
  • 环保税和环境税一样吗
  • 个人所得税深圳税务
  • 购买税控系统专用设备
  • 租金返还方式销售
  • 民间非营利组织会计制度最新版
  • 小规模企业低值易耗品摊销方法
  • 发票勾选了是否就抵扣了
  • 商场赠送购物券是真的吗
  • 1697510302
  • 开发企业土地使用税计算方法
  • 华为Mate50Pro配置多少
  • windows10闹钟不响
  • win10清空回收站是灰色的
  • 苹果六微信
  • cyb2k.exe是安全进程吗 cyb2k进程危险吗
  • 公司不运营了需要注销吗
  • 一只草丛里的狐狸作文
  • datetime2(7)
  • 【C#+JavaScript+SQL Server】实现Web端在线考试系统 五:考试模块设计(附源码和资源)
  • win10下 yolov8 tensorrt模型加速部署【实战】
  • 《走进新时代》专栏
  • 贷款利息现金流量项目
  • 股东分红算不算股利
  • 公司缴纳的印花税会计分录
  • 刘亦菲生日当天发素颜照
  • python中的函数调用
  • 建安企业确认收入的依据
  • 企业合并属于非企业吗
  • 资产负债率如何
  • 应收账款借方余额需要交税吗
  • 长期借款属于什么会计分录
  • 购买的金税盘可以抵扣吗
  • 生育津贴到公司账户了多久给个人
  • 月末进项税大于销项税额怎么结转
  • 存货跌价准备在年报哪里
  • 消费税会计处理的设置
  • 计税成本对象的分类
  • 企业所得税业务招待费怎么调整
  • 消费税的计税方式有哪几种?
  • 月底库存现金可以有余额吗
  • 预收账款要预交税金吗
  • 如何理解出口退税的意义
  • 12月收入1月份开发票怎么报企业所得税
  • 小规模红冲发票收入正数税额负数
  • 建筑企业提供服务的机制保障
  • 过程要求可包括哪些内容
  • linux系统清理磁盘空间
  • wps.exe是什么
  • 如何查看文件系统
  • windows开启快速启动
  • 复制到文件夹怎么弄
  • Linux 下mysql通过存储过程实现批量生成记录
  • 批处理删除指定后缀名
  • Android事件处理模型
  • python中判断语句怎么写
  • 发票怎样读入金税开票系统
  • 进口退税能退税吗现在
  • 林则徐家训带来的启示
  • 宁夏地税局电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设