⭐️ 本文首发自 前端修罗场(点击加入),是一个由 资深开发者 独立运行 的专业技术社区,我专注 Web 技术、Web3、区块链、答疑解惑、面试辅导以及职业发展博主创作的 《前端面试复习笔记》(点击订阅),广受好评,已帮助多人提升实力、拿到 offer。现在订阅,私聊我即可获取一次免费的模拟面试机会,帮你评估知识点的掌握程度,获得更全面的学习指导意见!

该模式能够在私有范围内简单定义所有的函数和变量,并返回一个匿名对象, 它拥有指向私有函数的指针,该函数是他希望展示为公有的方法。

示例:

<script>var myRevealingModule = function () {var privateVar = "Ren Cherry",publicVar = "Hey there";function privateFunction() {console.log("Name:"+privateVar);}function publicSetName(strName) {privateName = strName;}function publicGetName() {privateFunction();}//将暴露的公有指针指向到私有函数和属性上return {setName: publicSetName,greeting: publicvar,getName: publicGetName};}();myRevealingModule.setName("Paul Kinlan");
</script>

优点:

  1. 该模式很容易之处哪些函数和变量可被公开访问,改善了可读性。
  2. 如果一个私有函数引用一个公有函数,在需要打补丁时,公有函数是不能被覆盖的。
    因为私有函数将继续引用私有实现,该模式并不适用于公有成员,只使用函数。

【javascript设计模式】3.Revealing Module(揭示)模式相关推荐

  1. 《JavaScript设计模式与开发实践》模式篇(12)—— 装饰者模式

    在传统的面向对象语言中,给对象添加功能常常使用继承的方式,但是继承的方式并不灵活, 还会带来许多问题:一方面会导致超类和子类之间存在强耦合性,当超类改变时,子类也会随之 改变;另一方面,继承这种功能复 ...

  2. JavaScript设计模式系列四之外观模式(附案例源码)

    文章初衷 设计模式其实旨在解决语言本身存在的缺陷, 目前javaScript一些新的语法特性已经集成了一些设计模式的实现, 大家在写代码的时候,没必要为了用设计模式而去用设计模式, 那么我这边为什么还 ...

  3. 《JavaScript设计模式与开发实践》模式篇(5)—— 观察者模式

    发布-订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状 态发生改变时,所有依赖于它的对象都将得到通知.在 JavaScript 开发中,我们一般用事件模型 来替代传统的发布- ...

  4. 《JavaScript设计模式与开发实践》模式篇(3)—— 代理模式

    代理模式是为一个对象提供一个代用品或占位符,以便控制对它的访问 故事背景: 假设当 A 在心情好的时候收到花,小明表白成功的几率有 60%,而当 A 在心情差的时候收到花,小明表白的成功率无限趋近于 ...

  5. 设计模式(9)[JS版]-JavaScript设计模式之如何实现桥接模式???

    目录 1 什么是桥接模式 2 参与者 3 实例讲解 4 总结 1 什么是桥接模式 Bridge模式允许两个组件,即客户端和服务一起工作,每个组件都有自己的接口.Bridge是一种高级架构模式,它的主要 ...

  6. JavaScript 设计模式 : 巧用'工厂模式'和'创建者'模式

    我为什么把他们两个放在一起讲?我觉得这两个设计模式有相似之处,有时候会一个设计模式不能满足你的需求而采用另一种设计模式.基于这点考虑,而且为了大家更好地理解,我放到了一起,加深大家的印象,活学活用. ...

  7. javascript设计模式-Constructor(构造器)模式

    Constructor是一种在内存已分配给该对象的情况下,用于初始化新创建对象的特殊方法.Object构造器用于创建特定类型的对象–准备好对象以备使用,同事接收构造器可以使用参数,以在第一次创建对象时 ...

  8. Javascript设计模式(四)-- 建造者模式

    定义 建造者模式:将一个复杂对像的构建层与其表示层相互分离,同样的构建过程可采用不同的表示. 与之前的模式比较 工厂模式主要是为了创建对象实例或者类簇(抽象工厂),关心的是最终产出(创建)的是什么.不 ...

  9. Javascript设计模式(五)代理模式

    使用者无权访问目标对象,通过代理做授权和控制 代理模式是一种非常有意义的模式.在生活中也能找到代理模式的情景,比如,明星都有经纪人作为代理,如果想请明星来办一场商业演出,只能联系他的经纪人,经纪人会把 ...

最新文章

  1. 使用Git分布式版本控制系统
  2. springboot整合ElasticSearch出现的问题
  3. linux创建mysql视图,MySQL视图入门浅析
  4. python汇率编程_【菜鸟学Python】案例一:汇率换算
  5. 延边大学计算机金小峰,第九届中国信息安全博士论坛在我校开幕
  6. vue-cli安装和使用
  7. Linux入门学习(四)
  8. linux 基础学习入门 5 inode 总结 tr tee 等小命令
  9. 存储过程中while循环
  10. python数据分析-Python数据分析从小白到高手的几个步骤
  11. Debian, Ubuntu 和 Linux Mint 中安装WPS
  12. 网络营销练习题(黑大电商专业kaoti)
  13. 51单片机串行口波特率计算
  14. TCP/IP基础知识
  15. 【复数表达】Deep Complex Network
  16. Kotlin苦海无涯(四) Object
  17. unreal——UnrealBuildTool : error : Unable to deleteXXXX
  18. 顺丰科技运维开发工程师二面面经
  19. 计算机专业读书推荐卡图片大全,如何完成实践作业《好书推荐卡》,大家谈
  20. 【35】WEB安全学习----XST攻击

热门文章

  1. 安卓 NFC 主机卡模拟
  2. 【19调剂】哈尔滨理工大学与中国科学院自动化所联合培养研究生招生
  3. FHSS And DSSS
  4. 家用汽车维修4:修车工具材料
  5. LDA求解:Gibbs采样算法
  6. vue移动端调用照相机及相册
  7. 计算机考试第一套试题操作,计算机等级考试一级上机试题(第一套)
  8. 一张图看懂世界石油分布?用Python轻松搞定!(附数据下载)
  9. 教研室文档管理系统的需求分析
  10. 【飞书应用】自动生成文档