码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式-单例模式

时间:2017-06-08 13:59:36      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:空间   节省空间   ons   rip   设计模式   func   设计   单例   设计模式-单例模式   

  单例,即一个对象只有一个实例,即使实例化多次,拿到的也是同一个实例。

  JavaScript中,全局对象就是单例,如:window、document;获取的DOM也是单例的。

  单例一个最大的好处就是节省空间,或者说节省资源。

  这里有个简单单例实现:

var Singleton = (function() {
    var instance;
    return function(name) {
        if(instance) {
            return instance;
        }else {
            this.name = name; 
            return instance = this;
        }
    }
})()
console.log(new Singleton(‘a‘).name);//a
console.log(new Singleton(‘b‘).name);//a

  利用闭包保存独立作用域的特性,在闭包里保存第一次创建的实例,今后每次创建都只返回该实例而不再创建。

  当然单例还有很多种实现方式,后面单独补充。

 

设计模式-单例模式

标签:空间   节省空间   ons   rip   设计模式   func   设计   单例   设计模式-单例模式   

原文地址:http://www.cnblogs.com/longhx/p/6962279.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!