javascript单例模式(懒汉 饿汉)
第一种:懒汉模式
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单例模式(懒汉 饿汉)的更多相关文章
- java 设计模式 单例模式之饿汉模式/懒汉模式 singleton pattern
https://v.qq.com/x/page/e0364ung5zp.html 讲的不错, 关于 饿汉式单例模式 code Student 类: package com.test;//单例模式之 ...
- C++的单例模式与线程安全单例模式(懒汉/饿汉)
1 教科书里的单例模式 我们都很清楚一个简单的单例模式该怎样去实现:构造函数声明为private或protect防止被外部函数实例化,内部保存一个private static的类指针保存唯一的实例,实 ...
- Java单例模式之饿汉模式与懒汉模式
单例模式是我们在开发软件的过程中经常用到的23中常用的java模式之一,主要的功能就是保证我们所使用的对象只有一个,这也在一方面减少了出错的可能性,增强了代码的健壮.单例模式一般来说有两种实现的方式, ...
- java单例,懒汉&饿汉
* 单例模式Singleton * 应用场合:有些对象只需要一个就足够了,如皇帝 * 作用: 保证整个应用程序中某个实例有且只有一个 * 区别: 饿汉模式的特点是加载类时比较慢,但运行是比较快 ...
- java基础10 单例模式之饿汉式和懒汉式单例
前言: 软件行业中有23中设计模式 单例模式 模版模式 装饰者模式 观察者模式 工厂模式 ........... 单例模式 1. 单例模式包括 1.1 饿汉式单例 1.2 ...
- java单例模式(饿汉式和懒汉式)
1 /* 2 * 设计模式:对问题行之有效的解决方式.其实它是一种思想. 3 * 4 * 1,单例设计模式 5 * 解决的问题:就是可以保证一个类在内容中的对象唯一性. 6 * 7 * 必须对于多个程 ...
- Spring中单例模式中的饿汉和懒汉以及Spring中的多例模式
链接:https://pan.baidu.com/s/1wgxnXnGbPdK1YaZvhO7PDQ 提取码:opjr 单例模式:每个bean定义只生成一个对象实例,每次getBean请求获得的都是此 ...
- Java单例模式《一》饿汉式
package com.study.mode; /** * 单例模式:饿汉式. 线程安全. * @ClassName: SingleBean * @author BlueLake * @date 20 ...
- (转)Singleton 单例模式(懒汉方式和饿汉方式)
原文地址:http://www.cnblogs.com/kkgreen/archive/2011/09/05/2166868.html 单例模式的概念: 单例模式的意思就是只有一个实例.单例模式确保某 ...
随机推荐
- kivy Create an application
http://kivy.org/docs/guide/basic.html#quickstart I followed this tutorial about how to create basic ...
- [置顶] 使用严苛模式打破Android4.0以上平台应用中UI主线程的“独断专行”
传送门 ☞ 轮子的专栏 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 已经有好一段时间没有关注Android应用方面的事情了:)最近单位来了一个Androi ...
- [置顶] IT老男人读《因为痛,所以叫青春》
最近偶然,从别人的书桌上看到这本书,其中有个关于时间的解释,很是让为成功焦虑的老男人受用. 因此,我喜欢将人生的80年跟一天中的24小时进行对照. 人生时钟的计算方法十分简单.24小时相当于144 ...
- jdk 安装配置
在windows上配置JDK 1.下载windows版JDK 网址:http://www.oracle.com/technetwork/java/javase/archive-139210.html ...
- 链接中的href=#是什么意思呢
链接当前页面. ------------------- 通常有如下用法: <a href="#" onclick="window.close()"> ...
- tab切换☆☆☆☆☆
<!doctype html><html lang="en"><head> <meta charset="UTF-8" ...
- Java动态代理简单应用
概念 代理模式是基本的设计模式之一,它是开发者为了提供额外的或不同的操作,而插入的用来代替“实际”对象的对象.这些操作通常涉及与“实际”对象的通信,因此代理通常充当着中间人的角色. Java动态代理比 ...
- yeoman生成react基本架构
工欲善其事必先利其器.在开始react开始之前,我们先使用一系列的前段工具构建自己的前端集成解决方案. 环境配置: Bower,node js,npm,Grunt,Gulp,Yeoman 作者一直使用 ...
- git的入门使用操作
Git html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,addres ...
- CODE[VS]-求和-整数处理-天梯青铜
题目描述 Description 求n个数的和 输入描述 Input Description 第一行一个整数n 接下来一行n个整数 输出描述 Output Description 所有数的和 样例输入 ...