第一种:懒汉模式

var Singleton=(function(){
var instantiated; //比较懒,在类加载时,不创建实例,因此类加载速度快,但运行时获取对象的速度慢
function init(){
/*这里定义单例代码*/
return{
publicMethod:function(){
console.log('helloworld');
},
publicProperty:3
};
}
return{
getInstance:function(){
if(!instantiated){
instantiated=init();
}
return instantiated;
}
};
})();
/*可在其他类调用公有的方法或属性来获取实例:*/
Singleton.getInstance().publicMethod();
Singleton.getInstance().publicProperty = 4;
console.log(Singleton.getInstance().publicProperty);

第二种:饿汉模式

var Singleton=(function(){
var instantiated = init(); //比较饿,在类加载时就完成了初始化,所以类加载较慢,但获取对象的速度快
function init(){
/*这里定义单例代码*/
return{
publicMethod:function(){
console.log('helloworld');
},
publicProperty:3
};
}
return{
getInstance:function(){
return instantiated;
}
};
})();

javascript单例模式(懒汉 饿汉)的更多相关文章

  1. java 设计模式 单例模式之饿汉模式/懒汉模式 singleton pattern

    https://v.qq.com/x/page/e0364ung5zp.html 讲的不错, 关于 饿汉式单例模式 code Student 类: package com.test;//单例模式之   ...

  2. C++的单例模式与线程安全单例模式(懒汉/饿汉)

    1 教科书里的单例模式 我们都很清楚一个简单的单例模式该怎样去实现:构造函数声明为private或protect防止被外部函数实例化,内部保存一个private static的类指针保存唯一的实例,实 ...

  3. Java单例模式之饿汉模式与懒汉模式

    单例模式是我们在开发软件的过程中经常用到的23中常用的java模式之一,主要的功能就是保证我们所使用的对象只有一个,这也在一方面减少了出错的可能性,增强了代码的健壮.单例模式一般来说有两种实现的方式, ...

  4. java单例,懒汉&饿汉

     * 单例模式Singleton  * 应用场合:有些对象只需要一个就足够了,如皇帝  * 作用: 保证整个应用程序中某个实例有且只有一个  * 区别: 饿汉模式的特点是加载类时比较慢,但运行是比较快 ...

  5. java基础10 单例模式之饿汉式和懒汉式单例

    前言: 软件行业中有23中设计模式 单例模式    模版模式    装饰者模式    观察者模式    工厂模式    ........... 单例模式 1. 单例模式包括 1.1 饿汉式单例 1.2 ...

  6. java单例模式(饿汉式和懒汉式)

    1 /* 2 * 设计模式:对问题行之有效的解决方式.其实它是一种思想. 3 * 4 * 1,单例设计模式 5 * 解决的问题:就是可以保证一个类在内容中的对象唯一性. 6 * 7 * 必须对于多个程 ...

  7. Spring中单例模式中的饿汉和懒汉以及Spring中的多例模式

    链接:https://pan.baidu.com/s/1wgxnXnGbPdK1YaZvhO7PDQ 提取码:opjr 单例模式:每个bean定义只生成一个对象实例,每次getBean请求获得的都是此 ...

  8. Java单例模式《一》饿汉式

    package com.study.mode; /** * 单例模式:饿汉式. 线程安全. * @ClassName: SingleBean * @author BlueLake * @date 20 ...

  9. (转)Singleton 单例模式(懒汉方式和饿汉方式)

    原文地址:http://www.cnblogs.com/kkgreen/archive/2011/09/05/2166868.html 单例模式的概念: 单例模式的意思就是只有一个实例.单例模式确保某 ...

随机推荐

  1. Introduction to OOC Programming Language

    Introduction to OOC Programming Language 文/akisann @ cnblogs.com / zhaihj @ github.com 本文同时发布在github ...

  2. 当ArcGIS10.2遇到Teradata

                                    随着计算机技术的不断发展,GIS技术也紧跟IT技术的热潮,从三维技术.到移动技术,从大数据技术到云计算技术,只要IT有的新技术,Esri ...

  3. php的sendmail发件人邮箱设定

    以前就碰到过设置发件人后缀的方式,这次迁移服务器居然忘记,从头开始记录下 1:第一种方法,修改/etc/hosts,据说sendmail使用hosts里面的本地设置域名,修复方法如下 127.0.0. ...

  4. javaapplicationWeb application setup on Ubuntu VPS

    题记:写这篇博客要主是加深自己对javaapplication的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢. Now there are many hosting server ...

  5. jedis使用api

    Jedis 是 Redis 官方首选的 Java 客户端开发包. 工作过程总结的一个示例,贴出来,如下: package com.wujintao.redis; import java.util.Da ...

  6. DOM节点删除之empty和remove

    DOM节点删除之empty和remove 刚学了新知识,虽然是一个小知识点,但还是忍不住想和大家分享. .empty()是指对该节点后代的删除,结果是清空该节点(该节点里面已无元素). .remove ...

  7. [ios-必看] WWDC 2013 Session笔记 - iOS7中的多任务【转】

    感谢:http://onevcat.com/2013/08/ios7-background-multitask/ http://www.objc.io/issue-5/multitasking.htm ...

  8. Java如何根据IP获取当前定位

    当今购物.旅游等服务型的网站如此流行,我们有时候也会碰到这样网站的开发. 在开发此类网站时,为了增加用户的体验感受,我们不得不在用户刚进入网站时定位到用户所在地, 更好的为用户推荐当地产品.比如去哪儿 ...

  9. WebADI应用到Office 2016 64-bit

    升级后的用户环境: Windows 2016 bit Office 2016 64 bit IE 11 64 bit 功能定义 功能:CUX_LINE_IMP_ADI 类型:SSWA servlet ...

  10. 传统flv网页视频(flvplayer)--兼容

    1.flv网页视频 项目中需要web打开视频,百度搜了好几个插件,本来是打算用H5 vedio,但是客户的浏览器用的比较老,如果用H5标签的话,IE9以下的浏览器是不支持的.所以费劲又去找了其他插件. ...