设计模式 —— 构造函数模式(2021/5/18)

本文深入讲解JavaScript中的构造函数,探讨其在对象创建过程中的角色与功能。解释如何使用构造函数为对象设置初始值,并介绍自定义构造函数的方法及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概念

  • 构造函数用于创建特定类型的对象——不仅声明了使用的对象,构造函数还可以接受参数以便第一次创建对象的时候设置对象的成员值。你可以自定义自己的构造函数,然后在里面声明自定义类型对象的属性或方法。
  • 在JavaScript里,构造函数通常是认为用来实现实例的,JavaScript没有类的概念,但是有特殊的构造函数。通过new关键字来调用自定义的构造函数,在构造函数内部,this关键字引用的是新创建的对象。

拟物化理解

  • 普通的门 -> 有花边和纹路的门

模式作用:

  • 1.用于创建特定类型的对象。
  • 2.第一次声明的时候给对象赋值。
  • 3.自己声明构造函数,赋予属性和方法。

注意事项:

  • 1.声明函数的时候处理业务逻辑。
  • 2.区分和单例的却别,配合单例实现初始化。
  • 3.构造函数大写字母开头。(建议)
  • 4.注意new的成本。(继承)(方法放到原型链上面)
// 1.用于创建特定类型的对象
// 2.js里构造函数比较特殊的地方 new
// 3.其他的语言里 比如PHP 里人家实现 有一个关键字 A class
function zaomen(huawen) {
        if (!(this instanceof zaomen)) { 
                return new zaomen(); //如果没有new这个构造函数的话,可以走这一步返回一个new的构造函数
        }
        var _huawen = '普通';
        if (huawen) {
                _huawen = huawen;
        }
        this.suo = '普通';
        this.huawen = _huawen;
        this.create = function () {
                return '【锁头】' + this.suo + '【花纹】' + this.huawen
        }
}

var xiaozhang = new zaomen();
alert('xiaozhang' + xiaozhang.create())

var xiaoli = new zaomen('绚丽')
alert(xiaoli.create())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值