JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
本文实例讲述了javascript设计模式之构造器模式(生成器模式)定义与用法。分享给大家供大家参考,具体如下:
工厂模式虽然解决了重复实例化的问题,但无法识别对象类型。
可以采用构造函数(构造方法)可用来创建特定的对象,可以解决工厂模式无法识别对象实例的问题。也就是说,使用构造函数的方法 ,即解决了重复实例化的问题 ,又解决了对象识别的问题。
构造器模式与工厂模式的不同之处在于:
① 构造函数方法没有显示的创建对象 (new object())
;
② 直接将属性和方法赋值给 this
对象;
③ 没有 return
语句。
构造函数方法的规范:
① 函数名和实例化构造名相同且大写 (非强制,但有助于区分构造函数和普通函数);
② 通过构造函数创建对象,必须使用new
运算符。
function person(name, age) { this.name = name; this.age = age; this.showname = function() { alert(this.name); }; } var person1 = new person("alice", 23); var person2 = new person("bruce", 22);
构造器模式的问题:每个方法都要在每个实例上重新创建一遍。
原因:javascript中的函数是对象,每定义一个函数,就是实例化了一个funtion对象,因此,使用构造函数创建的每个实例都有一个同名的方法,但这些方法不是同一个function的实例,因为不同实例上的同名函数是不相等的。
解决:原型模式,请见:
更多关于javascript相关内容可查看本站专题:《javascript面向对象入门教程》、《javascript切换特效与技巧总结》、《javascript查找算法技巧总结》、《javascript错误与调试技巧总结》、《javascript数据结构与算法技巧总结》、《javascript遍历算法与技巧总结》及《javascript数学运算用法总结》
希望本文所述对大家javascript程序设计有所帮助。
上一篇: 离我水果摊远点
下一篇: 谁擅长什么谁就去做什么