首页 > 编程语言 > 详细

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

时间:2014-06-28 18:10:22      阅读:300      评论:0      收藏:0      [点我收藏+]

构造器模式(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设计模式】构造器模式、模块模式、单例模式

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!