Javascript基础进阶(九)单例模式

单例模式

单例模式?

大白话理解: 把描述同一事物(同一个对象)的属性和方法放在一个内存空间下,起到了分组的作用,这样不同事物之间的属性及时属性名相同,也互相不发生影响,这种分组模式叫做“单例模式”。
单例模式是项目中经常用到的一种模式,因为用它做模块化开发。

var fn = function() {
    return {
        name: '浮云先生',
        age: 18,
    }
};
var obj1 = fn()
var obj2 = fn()
// obj1 === obj2 // true

obj1 和 obj2 互不影响

高级单利模式

var searchModel = (function(){
    function moadeA() {
          ....
    }
    return {
        moadeA: moadeA
    }
})()

searchModel .moadeA()

利用jq callbacks

var searchModel = (function(){
    var callbacks = $.callbacks()
    function moadeA() {
          console.log('A')
    }
    function moadeB() {
          console.log('B')
    }
    callbacks.add(moadeA)
    callbacks.add(moadeB)
    return {
        init: function() {
            callbacks.fire()
        }
    } 
})()

searchModel .moadeA()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 面向对象 * 单利模式 * 工厂模式 * 构造函数模式 * 原型模式 * call,apply,bind * 继承...
    web前端ling阅读 250评论 0 1
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,171评论 1 32
  • 设计模式问答(一) 什么是设计模式?您能说出工厂模式、抽象工厂模式、创建者模式、原型模式、原型模式的潜复制及深复制...
    程序猿Timothy阅读 784评论 0 3
  • 01 如果要你造一个词,准确的描绘暮春之景色, 你该怎么做? 你的第一反应,一定是在记忆的宝库里,费力的搜寻有关春...
    诗书雅读阅读 424评论 4 5
  • 日念家人一好处,念力加持享幸福! 【先生好】上午陪孩子去恩吉拉早教中心搞活动,下午又去养老院陪孩子认领一个老人!各...
    风潇潇blj阅读 213评论 0 0