首页 > 代码库 > 【javascript设计模式】构造器模式、模块模式、单例模式
【javascript设计模式】构造器模式、模块模式、单例模式
构造器模式(Constructor)
构造器模式是学习js最早接触的一种,实现主要如下:
1 function myObject(name){2 this.name = name; 3 }4 5 myObect.propotype = function sayName(){6 alert(this.name); 7 }
使用的时候需要new一个对象。
1 var myObj = new myObject(‘hello‘);2 myObj.sayName();
模块模式(Module)
模块模式主要用匿名函数、闭包形成一个可以拥有私有变量的环境,暴露接口给外部。传说中的模块化。
1 var myObject = (function($){ 2 var myName = ‘‘; //私有变量 3 var sayName = function(){ 4 alert(myName); 5 }; 6 return{ 7 setName : function(name){ 8 myName = name; 9 },10 sayName : sayName11 }12 })(jQuery);
使用的时候拿来模块直接用就行了
1 myObject.setName(‘hello‘);2 myObject.sayName();
单例模式(Singleton)
单例模式可保证类只有一个实例,对象字面量就是单例模式的一种实现,另外也有。
1 var myObject = (function(){ 2 var instance; //实例持有者 3 function init( name ){ 4 var myname = name; 5 var sayName = function(){ 6 alert(myname); 7 }; 8 return { 9 sayName : sayName10 };11 };12 return {13 getInstance : function(name){
return instance || instance = init(name);18 }19 }20 })(jQuery);
调用的时候
1 var instan = myObject.getInstance(‘hello‘);2 instan.sayName();
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。