码迷,mamicode.com
首页 > 编程语言 > 详细

【javascript设计模式】构造器模式、模块模式、单例模式

时间:2014-06-28 18:12:42      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:style   blog   java   color   get   使用   

构造器模式(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 : sayName
11     }
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 : sayName
10         };
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();

 

【javascript设计模式】构造器模式、模块模式、单例模式,布布扣,bubuko.com

【javascript设计模式】构造器模式、模块模式、单例模式

标签:style   blog   java   color   get   使用   

原文地址:http://www.cnblogs.com/it-snail/p/3797124.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!