博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js的单例实现
阅读量:6043 次
发布时间:2019-06-20

本文共 1162 字,大约阅读时间需要 3 分钟。

hot3.png

  • 方法一
//方案一     var SingletonTester = (function () {         //单例方法         function Singleton(args) {             var args = args || {};             this.name = 'SingletonTester'; //方法对外的属性,另外一种方式就是返回对象             this.pointX = args.pointX || 6;             this.pointY = args.pointY || 10;         }         //单例实例         var instance;         //返回对象         return {             name: 'SingletonTester',             getInstance: function (args) {                 if (instance === undefined) {                     instance = new Singleton(args);                 }                 return instance;             }         };     })(); //直接执行该方法     //测试     var test = SingletonTester.getInstance({ pointX: 5 });     console.log(test.pointX);
  • 方法二
function Universe() {       // 判断是否存在实例       if (typeof Universe.instance === 'object') {           return Universe.instance;       }       // 其它内容       this.start_time = 0;       this.bang = "Big";       // 缓存       Universe.instance = this;       // 隐式返回this   }   // 测试   var uni = new Universe();   var uni2 = new Universe();   console.log(uni === uni2); // true

 

转载于:https://my.oschina.net/u/572632/blog/821488

你可能感兴趣的文章
python3存入redis是bytes
查看>>
laravel 集合接口
查看>>
C/C++二进制读写png文件
查看>>
thymleaf 常用th 标签
查看>>
RTB 广告系统
查看>>
Linux signal 那些事儿(2)【转】
查看>>
InfluxDB安装及配置
查看>>
Dynamics CRM Microsoft SQL Server 指定的数据库具有更高的版本号
查看>>
PAT Perfect Sequence (25)
查看>>
java.exe进程来源排查录
查看>>
点滴记录——Ubuntu 14.04中Solr与Tomcat整合安装
查看>>
C++实现KMP模式匹配算法
查看>>
ubuntu linux下建立stm32开发环境: GCC安装以及工程Makefile建立
查看>>
记录锁
查看>>
JSONObject与JSONArray的使用
查看>>
[SQL Server] 数据库日志文件自动增长导致连接超时的分析
查看>>
<html:form>标签
查看>>
除了《一无所有》,我一无所有
查看>>
每日英语:China Seeks to Calm Anxiety Over Rice
查看>>
C++中struct和class的区别 [转]
查看>>