概念

在模块模式的基础上,在返回的私有范围内,重新定义所有的 函数和变量。并返回一个匿名的对象。他拥有所有指向私有函数的指针。

实例

var myRevealingModule = function(){var privateVar = "Ben ",publicVar = "hello word";function privateFunction (){console.log("NAME:" + privateVar);}function publicSetName (strName){privateName = strName}function publicGetName () {privateFunction();}return {setName : publicSetName,greeting  :privateVar,getName : publicGetName}
}();myRevealingModule.setName('mps');

相当于在return的 时候不直接return 会私有属性和方法的名称 而是自己定义一套命名然后全部放在一个匿名函数里面 整体返回 使用的时候你只知道自己定义的名称,不可以使用私有的任何提示信息。

揭示模式(Revealing Module)相关推荐

  1. JS设计模式之Module(模块)模式、Revealing Module(揭示模块)模式

    Module(模块)模式 概念 Module模式最初被定义为一种在传统软件工程中为类提供私有和共有封装的方法. 通过这种方式,能够使一个单独的对象拥有共有/私有方法和变量,从而屏蔽来自全局作用局的特殊 ...

  2. javascript设计模式-模块模式(module pattern)

    为什么80%的码农都做不了架构师?>>>    模块模式(module pattern) var someModule = ( function () {var privateVar ...

  3. 【javascript设计模式】3.Revealing Module(揭示)模式

    ⭐️ 本文首发自 前端修罗场(点击加入),是一个由 资深开发者 独立运行 的专业技术社区,我专注 Web 技术.Web3.区块链.答疑解惑.面试辅导以及职业发展.博主创作的 <前端面试复习笔记& ...

  4. Modularity(模块化-无模块化)

    第一阶段:无模块化 简单的将所有的js文件统统放在一起.但是这些文件的顺序还不能出错,比如jquery需要先引入,才能引入jquery插件,才能在其他的文件中使用jquery. 优点: 相比于使用一个 ...

  5. java loadjs_Javarscript中模块(module)、加载(load)与捆绑(bundle)详解

    JS模块简介 js模块化,简单说就是将系统或者功能分隔成单独的.互不影响的代码片段,经过严格定义接口,使各模块间互不影响,且可以为其他所用. 常见的模块化有,C中的include (.h)文件.jav ...

  6. JavaScript模式读书笔记 第5章 对象创建模式

    1,命名空间模式  namespace   <script> var myApp = {};//通过全局变量来实现命名空间 maApp.Parent = function (){   }; ...

  7. 大型Javascript应用架构的模式(译文)

    附上翻译好的word文件 http://files.cnblogs.com/lizhug/Patterns_For_Large-Scale_JavaScript_Application_Archite ...

  8. javascript 的module 模块化

    The Module Pattern,模块模式,也译为模组模式,是一种通用的对代码进行模块化组织与定义的方式.这里所说的模块(Modules),是指实现某特定功能的一组方法和代码.许多现代语言都定义了 ...

  9. go语言入门教程01-go工具+go语法+go module

    文章目录 go教程 go 简介 go 安装 go 常用命令 build 和 run 命令 fmt 和 doc 命令 install 命令 env 命令 get 命令 go package 包的基本概念 ...

  10. JavaScript的封装

    2019独角兽企业重金招聘Python工程师标准>>> 封装(encapsulation) 前言:为什么单独写了一个关于封装的文章?虽然不是什么大牛,在JS中最好理解.也最常用的就是 ...

最新文章

  1. 【有奖辩论】工程师和销售创业谁更有优势?
  2. 港科大开源 | 基于事件的双目视觉里程计
  3. java jar包搜索地址 and ADB 连接模拟器
  4. JavaScript设置对象的不可拓展
  5. 网站搭建从零开始(五) WordPress的安装
  6. 简述JQuery,Extjs,YUI,Prototype,Dojo等JS框架的区别和应用场景
  7. oracle如何获取异常,ORACLE-函数异常处理(EXCEPTION)
  8. SPS :SPS 2003 安装过程中的语言版本问题。
  9. input time设置24小时制_python-time、datetimme模块
  10. python虚拟环境 pyenv_Python多版本管理和虚拟环境维护(pyenv, pyenv-virtualenv)
  11. 【推荐算法】推荐系统必读论文整理
  12. ae渲染出现错误是什么问题_AE渲染输出总是损坏怎么办-解决AE渲染输出被损坏的方法 - 河东软件园...
  13. 【Python】如何用Python快速实现语音提醒功能
  14. phyton计算每天进步的力量
  15. 主机名 域名 网站名 URL
  16. mysql 语法 日期转换成字符串_mysql日期转换成字符串的方法
  17. IMU(LPMS-B2) ROS下使用教程
  18. c语言if语句知识点总结,c语言中if语句知识点总结.docx
  19. java正则校验密码 长度不少于8位且至少包含大写字母、小写字母、数字和特殊符号中的四种组合 或者 其中任意三种组合
  20. noip2003 侦探推理 (字符串处理)

热门文章

  1. android系统平板输入法切换,安卓平板电脑怎么样切换输入法?
  2. APP案例分析--扇贝单词
  3. 创业的成功率只有10%?错,有的人可以高达90%!为什么?
  4. C/C++:打印乘法口诀表
  5. excel 置信区间 计算_Excel 计算置信区间:CONFIDENCE函数详解
  6. 使用pandas sns绘图
  7. 计算机无法识别佳能5d2,佳能相机连接后电脑显示无法识别
  8. 如何在linux环境下打开xlsx文件
  9. linux输入法中文输入法,RHEL7配置中文输入法-智能拼音
  10. Hive—日期格式使用总结