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

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

 对于 JS 来说,巨大的灵活性使得其可以有多种方式实现单例模式,使用闭包方式来模拟私有数据,按照其思路可得:
  1. var single = (function(){
  2.     var unique;
  3.     function getInstance(){
  4.         if( unique === undefined ){
  5.             unique = new Construct();
  6.         }
  7.         return unique;
  8.     }
  9.     function Construct(){
  10.         // ... 生成单例的构造函数的代码
  11.     }
  12.     return {
  13.         getInstance : getInstance
  14.     }
  15. })();
    以上,unique便是返回对象的引用,而 getInstance便是静态方法获得实例。Construct 便是创建实例的构造函数。
    可以通过 single.getInstance() 来获取到单例,并且每次调用均获取到同一个单例。这就是 单例模式 所实现的效果。

转载于:https://www.cnblogs.com/littleboyck/p/10027039.html

你可能感兴趣的文章
ubuntu 把软件源修改为国内源和更新
查看>>
随机产生四则运算,导入导出文件
查看>>
位运算符
查看>>
winform自定义控件
查看>>
C#编码好习惯
查看>>
避其锋芒,侧翼出击。——司马亮创业回忆录(一)
查看>>
scope
查看>>
一起谈.NET技术,晚绑定场景下对象属性赋值和取值可以不需要PropertyInfo
查看>>
一起谈.NET技术,.Net Framework源代码中的模式之Prototype(原型模式)
查看>>
[shell 命令] find 查找文件
查看>>
windows下启动mysql服务的命令行启动和手动启动方法
查看>>
VTK三维点集轮廓凸包提取
查看>>
【概率论与数理统计】小结9-3 - 区间估计
查看>>
Golang性能调优入门
查看>>
sqlloader外部表
查看>>
golang笔记——数组与切片
查看>>
屏蔽可忽略的js脚本错误
查看>>
散文分享
查看>>
【Vue】vue.js常用指令
查看>>
NFS学习
查看>>