位置: 编程技术 - 正文

Javascript创建类和对象详解(js如何创建类)

编辑:rootadmin

推荐整理分享Javascript创建类和对象详解(js如何创建类),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js创建一个类,js类的创建,js创建类的方法,js创建类的方法,js创建类的方法,javascript创建对象及应用,javascript创建对象及应用,JavaScript创建类,内容如对您有帮助,希望把文章链接给更多的朋友!

现总结一下Javascript创建类和对象的几种方法:

1、原始的创建方法:

原始的创建方法对于熟悉面向对象的人来说难以接受,总感觉属性和方法的封装不是很紧密,这种封装是以“对象名”+“.”的方式进行,表示对象名后跟的属性和方法是这个对象拥有的东西,这个对象(例如:person)就是封装好的结果,你可以继续追加方法和属性,例如追加age属性:person.age=;这种创建方法会让熟悉Java编程的人感到很难受。我们可以对原始的创建方法进一步“封装”一下,请看下一步:

2、工厂方法模式:

工厂方法模式看起来更像一个类了,personFactory对原始的创建方法进行了封装,并将创建好的对象返回给person引用变量,person就可以引用这个创建好的对象了,但是还不够完美:你每一次创建一个对象, 并使用该对象调用show()方法时,都会创建新的show()函数,它们完全可以调用同一个show方法,优化方法是将show放到工厂外,如下:

Javascript创建类和对象详解(js如何创建类)

从功能上说,上面的代码解决了函数重用问题,但是呈现方式不像是创建一个对象,熟悉Java的人仍感到难受。请看下一步:

3、构造方法模式:

上述代码的创建方式已经与Java类和对象的创建方式几乎一样了,封装好类的属性和方法,然后利用new关键字创建并返回一个对象,这不就是Java创建类和对象的过程吗,是的,就是这个过程,但是还可以优化,这种方式创建的对象调用show方法是也会即时地创建一个show函数,我们能不能创建一个所有对象公用的一个方法呢?就像Java类中的static方法一样,所有对象都使用同一个static方法,答案是可以的。请看下一步:

4、动态原型方法:

这里使用了一点技巧,当用new创建对象是,会执行Person功能块中的if判断语句,顺序从上往下,刚开始tag变量当然没有定义,所以执行if语句块里的内容:

这段内容的含义是创建一个属于类Person的show方法,注意,它是一个类方法,相当于Java中static修饰后的方法,而非单个对象的方法,这样所有的对象均可调用同一个方法了,这样也不用每次不同对象调用方法是都创建自己的show函数了,既节省空间又节省时间,这种方法岂不更妙。这里解释一下,以“类名.prototype.属性/方法”方式构造的属性和方法相当于Java中用static修饰的变量或方法,是属于整个类的,而非单个的对象,也即所有对象是共享的。

以上是学习JS类和对象的总结,其中个人理解错误之处还望大家批评指正。

JavaScript箭头(arrow)函数详解 为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。本文我们介绍箭头(arrow)函数的优点。更简洁的语法我们先

JavaScript基础之this详解 JavaScript的this和Java等面向对象语言中的this大不一样,bind()、call()和apply()函数更是将this的灵活度进一步延伸。为了保证可读性,本文采用意译而非直译

JS失效 提示HTML: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8 经过分析发现,这个是因为页面中html与js编码不一致导致的,一般情况最好统一标准的utf8的上网找了找,木有找到相关的解决办法,索性自己试了试。

标签: js如何创建类

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

上一篇:Javascript继承机制详解(js继承怎么实现)

下一篇:JavaScript箭头(arrow)函数详解(js 箭头表达式)

  • 税务知识:价外费用包括哪些费用?
  • 股票印花税计算公式
  • 货物运输费用怎么算
  • 劳务属于什么工种
  • 金蝶旗舰版的现金流量表怎么导出
  • 税务局不给注销税务
  • 企业的银行存款
  • 购买法下的操纵手法有哪些
  • 税收减免备案分录怎么写
  • 国债和国债期货的交割价是净价还是全价?( )
  • 在租赁的土地上建房产权归谁
  • 金税系统年度维护费发票抵扣需要认证吗?
  • 电子产品发票税是多少
  • 景区门票入什么费用
  • 对公账户分为一般户和基本户
  • 递延和摊销
  • 利润表里的营业税金及附加如何计算
  • 固定资产清理出售合同
  • 个人独资企业股权转让要交什么税
  • 公司用自己的设备投资怎么交税呢怎么做账
  • 公司开一般户弊端
  • 公司还款给法人需要缴税吗
  • 电脑检测不到税控盘原因
  • 个人技术投资入什么科目
  • 债券溢价发行会计分录举例
  • 虚拟股权分红怎么做账
  • 我想看一下这个月几日
  • 银行定期存款转存
  • 产品入库是什么
  • 经营资产和金融资产有哪些
  • 购货方收到红字发票怎么报税
  • 净资产和净利润一样吗
  • 如何自己搭建一个邮箱服务器
  • 税款滞纳金会计处理
  • 房地产企业土地增值税预缴计税依据
  • 企业所得税申报表在哪里打印
  • Python人脸识别智能考勤系统 (供源码,附报告)(可答疑,可调试)
  • 麻雀优化算法和鲸鱼算法哪个好
  • php cookies
  • 行政事业单位其他应收款核销分录
  • 无法收回的应收账款怎么做分录
  • 小规模纳税人应交税费会计分录
  • 分页 php
  • 织梦痣铃表情太到位
  • 车票增值税抵扣怎么操作
  • 个人生产经营所得范围
  • 房地产开发企业建造的商品房,在出售前
  • sql server 2008中的权限分为三类
  • 银行主账户和子账户能独立使用吗
  • 水电费的会计分录
  • 视同销售是指什么?
  • 限售股上市流通是好还是坏
  • 现金流量表和利润表的勾稽关系
  • 财务单独核算是什么意思
  • Windows平台下被支持最好的音频格式
  • 系统组策略打不开
  • 系统审核策略配置
  • windows任务管理器占用cpu过高
  • window7截图工具无法使用
  • hosts文件位置在哪
  • win10 win7控制面板
  • centos 安装教程
  • qtask.exe - qtask是什么进程 有什么用
  • u盘安装win10ghost
  • xp桌面快捷方式不见了
  • win7连接投屏器
  • linux系统怎么弄
  • js object.seal
  • 淘宝店铺首页导航栏css
  • unity开发的小游戏
  • Python分析学校四六级过关情况
  • jquery 案例
  • [置顶]游戏名:chivalry2
  • 公司在异地办公
  • 对外支付佣金需要代扣代缴印花税吗
  • 财务顾问属于什么业务
  • 劳保费如何入账
  • 顺德中学校徽图片大全1998年
  • 企业税收筹划的最终目的
  • 机动驳船是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设