代码改变世界

单件模式

2009-03-23 11:38  wlstyle  阅读(160)  评论(0)    收藏  举报
 1   var Person=(function(){
 2           var unique,_name;
 3         function createPerson(){
 4             _name="wl";
 5             return{
 6                 getName:function(){
 7                     return _name;
 8                 },
 9                 setName:function(name){
10                     _name=name;
11                 }
12                 
13             }
14         }
15         return {
16             getInstance:function(){
17                 if(!unique){
18                     unique=createPerson();
19                 }
20                 return unique;
21             }
22         }
23         })()
24         var tony=Person.getInstance();
25         tony.setName("tony");
26         alert(tony.getName());
一个自执行的匿名函数。返回一个对象。对象中有一个方法得到这个实例。这个方法判断某个标记的属性是否存在如果不存在调用创建对象的方法来创建对象。最后返回这个对象。这样就指挥存在一个Person的实例。