构造函数模式
构造函数用于创建特定类型的对象,不仅声明了使用的对象,构造函数还可以接受参数以便第一次创建对象的时候设置对象的成员值。你也可以自定义自己的构造函数,然后在里面声明自定义类型对象的属性或方法。
在JavaScript里,构造函数通常是认为用来实现实例的,JavaScript没有类的概念,但是有特殊的构造函数。通过new关键字来调用自定义的构造函数,在构造函数内部,this关键字引用的是新创建的对象。
模式作用:
- 用于创建特定类型的对象
- 第一次声明的时候给对象赋值
- 自己声明构造函数,赋予属性和方法
注意事项: - 声明函数的时候处理业务逻辑
- 区分和单例的区别,配合单例实现初始化
- 构造函数大写字母开头(建议)
- 注意new的成本(继承)
<script type="text/javascript">
//1.用于创建特定类型的对象
//zaomen就是构造函数,他又充当了类的概念
function zaomen(huawen){
if(!(this instanceof zaomen)){
return new zaomen();
}
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" + xiaoli.create());
</script>