模式作用:
1,模块间通信
2,系统中某个类的对象只能存在一个
3,保护自己的属性和方法
注意事项:
1,注意this的使用
2,闭包容易造成内存泄露,不需要的赶快干掉
1,模块间通信
2,系统中某个类的对象只能存在一个
3,保护自己的属性和方法
注意事项:
1,注意this的使用
2,闭包容易造成内存泄露,不需要的赶快干掉
3,注意new的成本(继承)
<script type="text/javascript">
//1.单例是独立的对象 建两个 一个xiaowang 一个xiaoli
//2.让xiaogli跟xiaowang通过门铃进行通信
//3.先看一下xiaowang家有没有门 如果有门直接通过门铃通讯didi 如果没有门先建门
//4.两个单例之间开始通信
//创建小王的方法是调用时才创建在内存中
var xiaowang=(function(){
var xiaowangjia=function(message){
this.menling=message;
}
var men;
var info={
sendMesssge:function(message){
if(!men){
men=new xiaowangjia(message);
}
return men;
}
}
return info;
})();
//创建小李的方法是常驻在内存中
var xiaoli={
callXiaowang:function(msg){
var _xw=xiaowang.sendMesssge(msg);
alert(_xw.menling);
_xw=null; //等待垃圾回收机制
}
};
xiaoli.callXiaowang("didi");
</script>