位置: 编程技术 - 正文

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面向对象(初步了解的英文)

  • 给离退休人员发的短信
  • 减免所得税额怎么做分录
  • 出口退税三类企业指什么意思
  • 印花税计入税金及附加吗
  • 销售费用福利费编码
  • 企业不加入工会可以吗
  • 期末现金及现金等价物余额公式
  • 一般纳税人开红票怎么处理
  • 小微企业附加税税收优惠政策
  • 处置固定资产账务处理例题
  • 企业年报 工商
  • 哪些财务指标可以用于判断一个企业即将发生财务危机
  • 现金日记账根据哪些凭证登记
  • 建筑施工企业检查的内容包括什么
  • 委托加工产品月末结转成本
  • 被代持股份怎么退出
  • 第一季度盈利第二季度亏损全年盈利
  • 赔偿金要交增值税吗
  • 外出经营活动税收管理证明和跨区域涉税事项报告表
  • 非雇佣劳务
  • 怎么区分进和近
  • 累计折旧要结转到本年利润吗
  • 企业所得税季报人数怎么填
  • win10专业版如何改为家庭版
  • 政府性基金收入来源三种
  • 代扣代缴的增值税可以作为进项税抵扣吗
  • 完工转出产成品成本计算
  • php与jquery
  • 注册资金印花税税目
  • php 数组对象
  • php的pdo是什么
  • 在php中,字符串有哪些表示形式
  • win11设置共享文件夹
  • 触电了该怎么做
  • 房产税计税的税率可分为
  • 笔记本电池消耗大怎么办
  • 钢铁企业成本核算表
  • 国税代开普票能作废吗
  • 二挡起步教程
  • 公益组织可以开公司吗
  • 公司支付的广告费是什么
  • 本期进项税额明细表为什么数据一直出不来
  • 循环logo
  • mysql基本命令大全
  • 应付职工薪酬期末余额是什么意思
  • 每月企业所得税怎么征收
  • 农机合作社项目申报方案
  • 营改增后存在的问题
  • 计提附加税金额
  • 期初建账明细账怎么建账
  • 商业会计做账流程视频
  • 辅助生产车间的制造费用不通过制造费用核算
  • 本月多交的增值税
  • 开了红字发票申请还要做进项税转出吗?
  • 企业专家咨询费标准
  • 免抵退怎么理解
  • 要约收购的条件和程序具体包括哪些?
  • sql server 2000安装好打开不显示名称和服务原因
  • xp系统开机checking
  • macbook取消弹出框阻止
  • WIN10开启高性能模式
  • Win7 vpn连接不上怎么办?Win7系统vpn连接不上问题的解决方法
  • windows8宽带连接设置
  • win7c盘突然满了怎么回事
  • synergy linux
  • vue父子组件传值props
  • shell脚本自动执行
  • 安卓手机管家推荐
  • 套接字java
  • js string string
  • javascript中字符串
  • 说一说我下乡插队时的那点事
  • java模拟支付功能
  • 基于bootstrap的网站
  • 契税完税证明怎么补打
  • 北京 国税
  • 手表不贵比较好的品牌
  • 国家税务认证平台是什么
  • 公司欠税交不起股东责任
  • 客运企业增值税税率是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设