JS设计模式三:模块模式

模块模式简述

模块模式是为单例模式添加私有变量和私有方法,并减少全局变量的使用;如下就是一个模块模式的代码结构:

var singleMode = (function(){
    // 创建私有变量
    var privateNum = 112;
    // 创建私有方法
    function privateFunc(){},
    // 创建公有方法
    function publicMethod1(){},
    function publicMethod2(){},
    // 返回一个对象包含公有方法和属性
    return {
        publicMethod1: publicMethod1,
        publicMethod2: publicMethod2
    };
})();

如上代码,模块模式使用了一个返回对象的匿名函数。在这个匿名函数内部,先定义了私有变量和函数,供内部函数使用,然后将一个对象字面量作为函数的值返回,返回的对象字面量中只包含可以公开的属性和方法。这样的话,可以提供外部使用该方法;由于该返回对象中的公有方法是在匿名函数内部定义的,因此它可以访问内部的私有变量和函数。

模块模式使用场景

创建一个对象时,需要进行内部初始化,同时对内部属性跟方法有访问权限限制,就需要使用模块模式了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,440评论 0 13
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 8,085评论 2 17
  • 谷歌改名阿尔法之后,谷歌变为其旗下子公司,作为一个老牌互联网公司,今天刷屏了,因为从阿尔法的去年财报来看,阿尔法市...
    耿彪阅读 704评论 0 1
  • 琐事记7.2 今天天气不怎么好,下着雨,可是我积累了很多小事要去汉川处理,而且听说那里新开了一家披萨店,我想去尝尝...
    小棕榈阅读 442评论 0 1
  • > 在开发过程中,有时需要引入自己本地的jar包,在pom文件中加入如下配置即可:
    彩虹之梦阅读 340评论 0 0

友情链接更多精彩内容