位置: 编程技术 - 正文

javascript中类的定义方式详解(四种方式)(javascript 类)

编辑:rootadmin

推荐整理分享javascript中类的定义方式详解(四种方式)(javascript 类),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript中类的继承的关键字,js类class的作用,js类名,js类名,javascript中类的继承的关键字,js中的类是什么,js中的类是什么,javascript中类的继承,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例讲述了javascript中类的定义方式。分享给大家供大家参考,具体如下:

类的定义包括四种方式:

1、工厂方式

定义了一个能创建并返回特定类型对象的工厂函数, 看起来还是不错的, 但有个小问题 ,

每次调用时都要创建新函数 showColor,我们可以把它移到函数外面,

在工厂函数中直接指向它

这样避免了重复创建函数的问题,但看起来不像对象的方法了。

2、构造函数方式

可以看到与第一中方式的差别,在构造函数内部无创建对象,而是使用 this 关键字。

javascript中类的定义方式详解(四种方式)(javascript 类)

使用 new 调用构造函数时,先创建了一个对象,然后用 this 来访问。

这种用法于其他面向对象语言很相似了, 但这种方式和上一种有同一个问题, 就是重复创建函数。

3、原型方式

首先定义了构造函数 Car,但无任何代码,然后通过 prototype 添加属性。优点:

a. 所有实例存放的都是指向 showColor 的指针,解决了重复创建函数的问题

b. 可以用 instanceof 检查对象类型

缺点,添加下面的代码:

drivers 是指向 Array 对象的指针,proCar 的两个实例都指向同一个数组。

4、动态原型方式

这种方式是我最喜欢的, 所有的类定义都在一个函数中完成, 看起来非常像其他语言的类定义,不会重复创建函数,还可以用 instanceof

希望本文所述对大家JavaScript程序设计有所帮助。

JavaScript判断对象是否为数组 文中为大家分享了三种JavaScript判断对象是否为数组的方法,1.typeof首先我们会想到的是使用typeof来检测数据类型,但是对于Function,String,Number,Undefined等这

js实现C#的StringBuilder效果完整实例 本文实例讲述了js实现C#的StringBuilder效果。分享给大家供大家参考,具体如下:/*#####################DONOTMODIFYTHISHEADER######################Title:StringBuilderClass##Desc

JS控制按钮秒钟后可用的方法 本文实例讲述了JS控制按钮秒钟后可用的方法。分享给大家供大家参考,具体如下:scriptlanguage="javascript"functionstart(){document.getElementById("Button1").disabled=t

标签: javascript 类

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

上一篇:JS设置下拉列表框当前所选值的方法(js下拉框怎么设置)

下一篇:JavaScript判断对象是否为数组(js对象判断)

  • 零申报资产负债表年初与期末数
  • 申请补交公积金提案
  • 企业降低存货成本的途径和方法
  • 房地产开发企业预收款预缴增值税
  • 购房所需的税费种类和费用
  • 固定资产投资转化为gdp比例
  • 收到进项发票如何记账
  • 农产品进项抵扣及申报表填写案例
  • 买了两个可以退一个吗
  • 不动产权证拆迁的话有什么作用
  • 未到期责任准备计入什么科目
  • 福利费的发票可以开什么内容
  • 境外代扣代缴的税最后归谁所有
  • 少计提的增值税怎么处理
  • 税务局领普通发票需要多少钱
  • 会议费报销注意事项
  • 小规模纳税人增值税超过30万怎么纳税
  • 上报汇总之后怎么申报
  • 研发费用没做账怎么调账
  • 轮胎计入什么会计科目
  • 递延所得税收益计算公式
  • 企业承担社保
  • 建筑工程公司需要注册商标吗
  • 管理费用明细是什么意思
  • 超市购销和联营有什么区别
  • 其他应付款辅助核算怎么挂
  • 事业单位财政补助和全额拨款有什么区别
  • 笔记本开机黑屏不显示任何东西
  • php教程100
  • ges.dll
  • 公司制作横幅计入什么科目?
  • 出口退税款计入营业外收入要交所得税吗
  • 其他综合收益明细科目
  • php二进制字符串压缩
  • discuz怎么添加diy模块
  • 退役士兵抵税2019
  • pandas columns排序
  • 公司处置汽车
  • 辅助核算内容不完整
  • 坏账准备抵消期初未分配利润
  • 商誉在资产负债表中如何体现
  • 暂存款账务处理
  • sqlserver2008触发器语法
  • 普通发票开具的管理是?
  • 收到采购发票如何录入系统
  • 民办非盈利组织注销了在哪登报
  • 借递延所得税资产贷递延所得税费用
  • 出售固定资产税率是13%吗
  • 个体工商户不经营需要税务登记吗
  • 卖固定资产如何做账
  • 主营业务成本如何设置明细
  • 合同资产科目设置
  • 房地产开发公司是做什么的
  • 进项税有什么相关要求
  • 减免税款月末是否结平
  • 做假账本怎么判
  • 营业税金及附加和税金及附加有什么区别
  • 企业所得税必须预缴吗
  • 会计交接事项有哪些
  • freebsd10安装教程
  • win10系统开机出现
  • 安装win7系统后鼠标键盘不能用
  • linux管理工具有哪些
  • 笔记本出厂预装系统
  • osx 10.9
  • linux远程更新程序
  • 在Linux系统中安装MySQL
  • docker 开源项目
  • android系统架构图
  • iframe的高度自适应
  • jquery里的ready是什么意思
  • javascript如何学
  • jquery动态添加的元素怎么添加事件
  • python中的编码
  • javascript零基础
  • 上海市税务官方网站网址
  • 软件销售增值税优惠
  • 山东省税务局在哪
  • 张劲松身高体重出生年
  • 岗位大练兵业务大比武简报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设