这篇文章主要介绍了javascript设计模式之构造函数模式,结合实例形式分析了构造函数模式的概念、功能、定义及使用方法,需要的朋友可以参考下
本文实例讲述了JavaScript设计模式之构造函数模式。分享给大家供大家参考,具体如下:
一、构造函数模式概念
构造函数用于创建特定类型的对象——不仅声明了使用过的对象,构造函数还可以接受参数以便第一次创建对象的时候设置对象的成员值。你可以自定义自己的构造函数,然后在里面声明自定义类型对象的属性或方法。
在JavaScript里,构造函数通常是认为用来实现实例的,JavaScript没有类的概念,但是有特殊的构造函数。通过new关键字来调用自定义的构造函数,在构造函数内部,this关键字引用的是新创建的对象。
二、构造函数模式的作用和注意事项
模式作用:
1.用于创建特定类型的对象
立即学习“Java免费学习笔记(深入)”;
2.第一次声明的时候给对象赋值
3.自己声明构造函数,赋予属性和方法
注意事项:
1.声明函数的时候处理业务逻辑
2.区分和单例的区别,配合单例实现初始化
3.构造函数大写字母开头
三、构造函数模式代码和实战总结
nbsp;html>构造函数模式 <!-- function Car(model,year,miles){ if(!(this instanceof Car)){ return new Car(model,year,miles); } this.model = model; this.year = year; this.miles = miles; this.output = function(){ return this.model + "走了" + this.miles + "公里"; } } var tom = new Car("大叔",2009,20000); var dudu = Car("Dudu",2010,5000); console.log(typeof tom); console.log(tom.output()); console.log(typeof dudu); console.log(dudu.output());--> //1.用于创建特定类型的对象 //2.这样的函数名会被人笑话 //3.js开发的时候写单引号 //4.js里构造函数比较特殊的地方 new //5.其他的语言里 比如PHP 里人家实现 有一个关键字 A class //6.zaomen就是构造函数 他又充当了类的概念 var AA = { zaomen:function(huawen) { if (!(this instanceof AA.zaomen)) { console.log(123); return new AA.zaomen(huawen); }; var _huawen = "普通"; if (huawen) { _huawen = huawen; } this.suo = "普通"; this.huawen = _huawen; this.create = function () { return "【锁头】" + this.suo + "【花纹】" + this.huawen; } } }; var BB = { zaomen:function(huawen,suo) { if (!(this instanceof BB.zaomen)) { return new BB.zaomen(huawen,suo); }; var _huawen = "普通"; if (huawen) { _huawen = huawen; } this._suo = "普通"; if (suo) { _suo = suo; } this.suo = _suo; this.huawen = _huawen; this.create = function () { return "【锁头】" + this.suo + "【花纹】" + this.huawen; } } }; /*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 = AA.zaomen(); alert("xiaozhang" + xiaozhang.create()); var xiaoli = BB.zaomen("绚丽",'123'); alert("xiaoli" + xiaoli.create());
登录后复制
运行效果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
JavaScript设计模式中工厂的介绍
JavaScript设计模式中代理模式的介绍
以上就是JavaScript设计模式中构造函数模式的介绍的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2747390.html