js 单例模式
来源:互联网 发布:兰亭序真迹在哪里 知乎 编辑:程序博客网 时间:2024/05/20 09:48
1. 使用静态属性
<pre name="code" class="javascript">function Universe() { if(typeof Universe.instance === "object") {
return Universe.instance;
} this.start_time = 0; this.bang = "big"; Universe.instance = this;}
缺点:Universe.instance是公开的
2. 使用闭包
function <span style="font-family: Arial, Helvetica, sans-serif;">Universe</span><span style="font-family: Arial, Helvetica, sans-serif;">() {</span> var instance = this; this.start_time = 0; this.bang = "big"; Universe = function() { return instance; }}
缺点:prototype只能使用第一个实例定义之前的
3. 调整后
function Universe() { var instance; Universe = function() { return instance; } Universe.prototype = this; Universe.constructor = Universe; instance = new Universe(); instance.start_time = 0; instance.bang = "big"; return instance;}
4. 使用闭包调整
var Universe;(function () { var instance; Universe = function() { if(instance) { return instance; } instance = this; this.start_time = 0; this.bang = "big"; }}());
0 0
- JS单例模式
- js单例模式
- js单例模式
- js单例模式
- JS单例模式
- js 单例模式
- js单例模式
- js单例模式
- js单例模式
- js-单例模式
- js 单例模式
- js单例模式
- 【JS】单例模式
- js: 单例模式
- js单例模式
- js实现单例模式
- js实现单例模式
- Node.js单例模式
- ecshop的加入购物车的js引入
- 【杭电oj5137】How Many Maos Does the Guanxi Worth
- PyQt5教程(七)——控件(II)
- C#关于DataGridView控件的使用总结【总结篇】
- Qt---CRC循环冗余校验
- js 单例模式
- ssh key管理
- Linux内核线程
- IOS真机测试之证书配置
- 柔光效果初探——人物肖像
- Web视频播放 之 【HTML5 Video标签】
- POJ1759-Garland
- 认识CoreData—多线程
- Android之ActionBar(demo)