这篇文章将为大家详细讲解有关JavaScript设计模式之单例模式的简介,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
JS是JavaScript的简称,它是一种直译式的脚本语言,其解释器被称为JavaScript引擎,是浏览器的一部分,主要用于web的开发,可以给网站添加各种各样的动态效果,让网页更加美观。
具体如下:
单例就是保证一个类只有一个实例,实现方法一般是先判断实例存在与否,如果存在直接返回,如果不存在就创建了再返回,这就确保了一个类只有一个实例对象。在JavaScript里,单例作为一个命名空间提供者,从全局命名空间里提供一个唯一的访问点来访问该对象。
1、模块间通信
2、系统中某个类的对象只能存在一个
3、保护自己的属性和方法
1、注意this
的使用
2、闭包容易造成内存泄露,不需要的要赶快干掉
3、注意new
的成本。(继承)
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>单例模式</title> </head> <body> <!--<script> 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(); </script>--> <script> /*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"); </script> </body> </html>
使用在线HTML/CSS/JavaScript代码运行工具 http://tools.jb51.net/code/HtmlJsRun测试运行效果如下:
关于“JavaScript设计模式之单例模式的简介”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。