位置: 编程技术 - 正文

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对象判断)

  • 农资公司性质
  • 一般纳税人附加税优惠政策2023
  • 机票抵扣进项税怎么填申报表
  • 新个税计算公式怎么输入excel
  • 对公帐户退款
  • 筹建期的开办费计入什么科目
  • 商贸公司运输发票怎么开
  • 会计学中递延收益怎么算
  • 产生的信息服务有哪些
  • 酒店代金券使用规则
  • 改建的固定资产
  • 银行已扣社保会计分录怎么做
  • 房屋租赁发票在哪开
  • 增普票付款要不要从公户走?
  • 中央财政补贴政策
  • 研发支出期末列报
  • 当月认证失控发票怎么做账处理?
  • 冲减以前年度所得税费用
  • 进口增值税发票可以抵扣吗
  • 服务类进项
  • 员工奖励专项基金怎么填
  • 公转私开票可以转吗
  • 充积分送手机
  • 封装windows10
  • 100%控股有什么风险
  • 差错更正未来适用法
  • 发票如何认证及开票
  • linux系统用法
  • 服务业公司取得的成果
  • php变量如何定义
  • 交易性金融资产是什么意思
  • 长期挂账的其他应付账款怎么处理
  • 绿萝可以放卧室吗晚上睡觉对人害吗
  • php数据结构
  • 包装物交不交消费税
  • 贷款损失准备的作用
  • Waterfalls at the source of the Mundo River, Sierra de Riopar, Albacete, Spain (© Westend61/Getty Images)
  • 委托外发加工会计分录
  • 有限责任公司股东对公司债务承担
  • php获取get请求数据
  • echarts柱状图坐标轴
  • 论文导读怎么做
  • 资产账面价值大于计税基础产生递延所得税负债
  • 旅游景点的门票能做费用吗
  • python中np.array用法
  • 前端培训费用大概多少
  • mac的配置
  • mysqldump -r
  • 开票项目与实际不符合
  • 职工福利费允许抵扣吗
  • 企业所得税的成本
  • 如何区分生产类型
  • 自产产品对外捐赠为什么不确认收入
  • 什么费用可以列入研发费用
  • 党委费用支出需要什么票据
  • 多缴附加税款账务处理
  • 开发成本转到哪里
  • 餐饮服务的监管由哪个部门负责
  • 投资收益怎么做帐
  • 工资薪金个人所得税怎么申报
  • 什么是计提坏账准备
  • linux系统的介绍
  • G40/50-70、SR1000随机Linux改安装Win7系统的实现方法
  • win8安装出现了一些问题
  • win10如何关闭windows安全中心图标
  • sqlservr.exe - sqlservr是什么进程 有什么作用
  • mcupdate.dll
  • linux如何kill进程
  • linux时区问题
  • text date excel
  • perl怎么把字符串变为数字
  • unity3d入门教程中文图解
  • shell脚本编写步骤
  • iframe内容自适应缩放
  • js html css
  • shell脚本取n天前的日期
  • js实现生成随机的圆
  • jquery多级联动下拉菜单
  • UIAutomator在AndroidStudio中的使用
  • 使用jquery实现的项目
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设