本文实例讲述了 设计模式之单例模式。分享给大家供大家参考,具体如下:
一、单例模式概念
单例就是保证一个类只有一个实例,实现方法一般是先判断实例存在与否,如果存在直接返回,如果不存在就创建了再返回,这就确保了一个类只有一个实例对象。在 里,单例作为一个命名空间提供者,从全局命名空间里提供一个唯一的访问点来访问该对象。
二、单例模式的作用和注意事项
模式作用:
1、模块间通信
2、系统中某个类的对象只能存在一个
3、保护自己的属性和方法
注意事项:
1、注意this的使用
2、闭包容易造成内存泄露,不需要的要赶快干掉
3、注意new的成本。(继承)
三、单例模式代码和实战总结
<!DOCTYPE html>
<html>
<head lang="en">
< charset="UTF-8">
< >单例模式</ >
</head>
<body>
<!--< >
var Singleton = (function(){
var instantiated;
function init(){
/*这里定义单例代码*/
return{
publicMethod:function(){
console.log("hello world");
},
publicProperty:"test"
};
}
return{
getInstance:function(){
if(!instantiated){
instantiated = init();
}
return instantiated;
}
}
})();
Singleton.getInstance().publicMethod();
</ >-->
< >
/*1.独立的对象 建2个一个xiaowang一个xiaoli
2.让xiaoli跟xiaowang通过门铃进行通信
3.先看一下xiaowang家有没有门 如果油门直接通过门铃通讯didi如果没有门先建门
4.两个单例之间看是通讯*/
var xiaowang = (function(argument){
var men;
var xiaowangjia = function(msg){
this.menling = msg;
}
var info = {
sendMessage:function(msg){
if(!men){
men = new xiaowangjia(msg);
}
return men;
},
abc:function(){
return 123;
}
};
return info;
})();
var xiaoli = {
callXiaowang:function(msg){
var _xw = xiaowang.sendMessage(msg);
alert(_xw.menling);
console.log(_xw.menling);
_xw = null;//等待垃圾回收
var abc = xiaowang.abc();
console.log(abc);
}
}
xiaoli.callXiaowang("didi");
</ >
</body>
</html>
使用在线HTML/CSS/ 代码运行工具 http://tools.jb51.net/code/HtmlJsRun测试运行效果如下:


更多关于 相关内容可查看本站专题:《 面向对象入门教程》、《 切换特效与技巧总结》、《 查找算法技巧总结》、《 错误与调试技巧总结》、《 数据结构与算法技巧总结》、《 遍历算法与技巧总结》及《 数学运算用法总结》
希望本文所述对大家 程序设计有所帮助。
继续阅读与本文标签相同的文章
上一篇 :
好消息!C++程序员也能用上NumPy了
下一篇 :
ASP.NET Core与NLog集成的完整步骤
-
任正非:6G或将10年内问世
2026-05-15栏目: 教程
-
微博:用户反馈张雨晗帐号刷数据 已暂停商业接单功能
2026-05-15栏目: 教程
-
布局AR野心的起点 Bose Frames智能蓝牙音频眼镜体验
2026-05-15栏目: 教程
-
已删除的短信在哪里找?iPhone短信恢复方法
2026-05-15栏目: 教程
-
5G城市,智慧军运!天河机场打造华中首个5G全覆盖机场
2026-05-15栏目: 教程
