Javascipt(五十一)构造函数

当我们想要去创建一个对象时,定义好相关的属性和功能。但是如果我创建的另外一个对象时,它具备了和我第一个创建的对象中有相似的属性和功能的话,大部分人的想法可能就是复制粘贴第一个对象的创建过程如下图:
在这里插入图片描述
但是如果我创建多个对象具有一些相同属性和方法的话,使用这种方法,无疑造成代码冗余。解决这种问题的办法就是封装创建对象的函数
步骤:

1.创建一个空对象

2.为该对象增加属性和方法

3.返回该对象
在这里插入图片描述
上述封装创建对象的函数过程与工厂模式类似

工厂模式:

1.原料 2.加工 3.出厂 凡是满足上述三个步骤创建对象的函数,我们把他称为工厂方法。

官方函数创建对象

官方函数创建与工厂方法创建区别:

1.官方函数通过new以后才变成对象,工厂方法没有new
在这里插入图片描述

工厂模式每一个创建出来的对象独有一套函数(因为每返回一个新对象都是对应的一个新地址)

new的作用

如果我们某一函数,使用new运算符调用

1.当前函数中this指向新创建对象

2.自动完成原料操作和出厂操作

使用new调用的函数称为构造函数,构造函数可以构造对象。
注:构造函数一般情况下首字母大写(与普通函数区分)
工厂模式优化1:使用new调用
在这里插入图片描述
prototype原型:

prototype:原型对象

概念:每一个函数上,都有一个原型对象prototype
在这里插入图片描述
作用:用在构造函数上,我们可以给构造函数的原型prototype添加方法。如果我们将方法添加到构造函数的原型prototype对象上,构造函数构造出来的对象都可以共享该方法
在这里插入图片描述
混合法:新创建对象方法共享

工厂模式优化2:新创建对象方法共享
在这里插入图片描述
案例:创建一只狗
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值