js之单例模式

在应用单例模式时,生成单例的类必须保证只有一个实例的存在

单例模式的思路是:一个类能返回一个对象的引用(并且永远是同一个)和一个获得该实例的方法(静态方法,通常使用 getInstance 名称)。那么当我们调用这个方法时,如果类持有的引用不为空就返回该引用,否者就创建该类的实例,并且将实例引用赋值给该类保持的那个引用再返回。同时将该类的构造函数定义为私有方法,避免其他函数使用该构造函数来实例化对象,只通过该类的静态方法来得到该类的唯一实例。

看看最终的代码.

var singleton = function( fn ){
var result;
return function(){
return result || ( result = fn .apply( this, arguments ) );
}
}

时间: 2024-10-10 08:55:31

js之单例模式的相关文章

2.js模式-单例模式

1. 单例模式 单例模式的核心是确保只有一个实例,并提供全局访问. function xx(name){}; Singleton.getInstance = (function(){ var instance = null; return function(name){ if(!instance){ instance = new xx(name); } return instance; } })();

js设计模式-单例模式

JavaScript中的单例模式是最常用的.最基本的设计模式,它提供了一种命名空间,减少全局变量泛滥的代码管理机制: 1.最常见的单例模式: [javascript] view plain copy //一般用function定义的类,我才会采用首字母大写的方法来约定这个变量为类 //而对于这种伪类,我通常习惯于使用驼峰式命名法 var singleton = { attr1: '', attr2: '', method1: function() {}, method2:  function()

js之 单例模式

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 </head> 7 <body> 8 <script> 9 // 1 ,独立的对象 比如 一个是xiaowang 和一个xiaoli 10 // 2,小李跟小王通过

JS实现单例模式

1 function Singleton(){ 2 if(!Singleton.a){ 3 Singleton.a={}; 4 } 5 return Singleton.a; 6 }运行结果:

javascript设计模式与开发实践阅读笔记(4)——单例模式

定义 单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点. 具体来说,就是保证有些对象有且只有一个,比如线程池.全局缓存.浏览器中的window 对象等.在js中单例模式用途很广,比如登录悬浮窗,我希望无论我点击多少次这个浮窗都只会被创建一次,这里就可以用单例模式. 1.实现单例模式 思路:用一个变量来标志当前是否已经为某个类创建过对象,如果是,则在下一次获取该类的实例时,直接返回之前创建的对象:如果否就创建出那个对象. 1 var Singleton = function( nam

javaScript的设计模式之单例模式

1.何为js的单例模式? 2.单例模式的作用和注意事项: 3.代码示例: <script type="application/javascript"> $(document).ready(function(){ //1.建两个独立的对象,jason,jerry; //2.让jerry与jason通过门铃进行通讯: //3.先看jason家有没有门,如果有门直接通过门铃通讯didi,如果没有,先建门 //4.两个单例之间开始通讯 /*立即型function对象jason*/

[js]javascript索引

- 前端工作的日常: 拿到ui设计图: 切图--> html+css静态布局-->js写一下动态效果 ajax和后台进行交互-->把数据绑定到页面上-->用nodejs服务平台做src管理--> 用nodejs做后台 4种输出方法 说明 alert 弹出 document.write 写入文档 console.log console innerHTML/innerText 在指定元素中动态添加内容 浏览器(window浏览器对象) --> 文档(document对象)

javascript创建对象的几种方式

1. 简单对象的创建    使用{} 也就是js的单例模式    var Cat = {};//JSON格式 Cat.name="kity";//添加属性并赋值 Cat.age=2; Cat.sayHello=function(){ console.log("hello "+Cat.name+",今年"+Cat["age"]+"岁了");//可以使用“.”的方式访问属性,也可以使用HashMap的方式访问

Javascript 设计模式 单例 http://blog.csdn.net/lmj623565791/article/details/30490955/

转载请标明出处:http://blog.csdn.NET/lmj623565791/article/details/30490955 一直很喜欢Js,,,今天写一个Js的单例模式实现以及用法. 1.单例模式的写法 单例模式写法相当简单: [javascript] view plain copy var singleTon = { m1: "memeber first ", m2: "memeber second ", f1: function () { consol