Module & Revealing Module Pattern

Module格式

//Basic structure(function(){//Declare private vars and functionsreturn{//Declare public var and functions}
})();

Module

return 的函数内容为可被外部调用的method;

  //Standard module pattern
const UICtrl = (function(){       //内部为private,无法被外面调用let text ='Hello world';const changeText = function(){const element = document.querySelector('h1');element.textContent=text;}return {callChangeText: function(){   //内部为public,可被外面调用changeText();console.log(text);}}
})();UICtrl.callChangeText();console.log(UICtrl);

Revealing Module Pattern

return 将private的函数放入return中,可以在外部访问;

//REVEALING MODULE PATTERN
const ItemCtrl = (function(){let _data = [];       //private variblefunction add(item){_data.push(item);console.log(`Item Added...`);}function get(id){return _data.find(item=>{return item.id===id;});}return {add:add,get:get}
})();ItemCtrl.add({id:1,name:'John'});
ItemCtrl.add({id:2,name:'Mike'});
console.log(ItemCtrl.get(2));

JS Module Revealing Module Pattern相关推荐

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

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

  2. Node.js: exports 和 module.exports 的区别

    我理解的exports 和 module.exports 的区别,欢迎大家吐槽~ 为了更好的理解 exports 和 module.exports 的关系,我们先来补点 js 基础.示例: app.j ...

  3. Node.js 中的 module.exports 与 exports

    介绍 module:每个模块中都有 module 对象,存放了当前模块相关的信息: module.exports:模块导出的内容: exports:默认情况下,exports 和 module.exp ...

  4. AttributeError: cannot assign module before Module.__init__() call

    执行下面的语句的时候出错: class xxx(nn.Module):def __init__(self,diction_size):self.diction_size=diction_sizesel ...

  5. 异常解决(二)-- AttributeError: cannot assign module before Module.__init__() call

    在调代码的过程中,总会出现各种各样的错误,这次就犯了一个非常愚蠢的错误,在此记录. AttributeError: cannot assign module before Module.__init_ ...

  6. python3 与 Django 连接数据库:Error loading MySQLdb module: No module named 'MySQLdb'

    在 python2 中,使用 pip install mysql-python 进行安装连接MySQL的库,使用时 import MySQLdb 进行使用 在 python3 中,改变了连接库,改为了 ...

  7. java.lang.module_如何修复“java.lang.module.FindException:module java.se.ee not found”错误

    我正在尝试打包我的kivy应用程序(python3),但是当我运行命令buildozer -v android debug时,看到这个错误# Cwd /home/javier/.buildozer/a ...

  8. 出现 malformed or corrupted AST file: 'Unable to load module .pcm: module file out of date'错误

    iOS9出现以后,必须把Xcode6升级到iOS7了,但是今天用Xcode7打开之前Xcode6编写的项目,突然出现了这个问题 malformed or corrupted AST file: 'Un ...

  9. 详解Node.js API系列 Module模块(2) 案例分析

    API文档是枯燥的,下面本人收集了一些论坛经常有人疑问和开源代码中经常遇到的案例供大家研究一下. http://blog.whattoc.com/2013/09/11/nodejs_api_modul ...

  10. 如臂使指 :JS 中的 Module 语法

    前言 从前 JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来.其他语言都有这项功能,比如 Ruby 的 require.Pytho ...

最新文章

  1. hello python jpush api_jpush python服务器端
  2. android面试题总结加强
  3. mysql-explain
  4. 命令行打印文件树列表: tree
  5. 股票期货数据的resample处理
  6. 信息学奥赛一本通(1250:The Castle)
  7. ICPC2020小米网络选拔赛第一场复盘
  8. PR视频剪辑软件教程
  9. 萌萌机器人布娃娃图片_萌萌机器人教程
  10. 计算机主机前耳机没声音,win7系统电脑前面耳机没声音怎么办
  11. 64位linux nvidia 32位,NVIDIA英伟达显卡驱动下载
  12. NUISTOJ/P1623切蛋糕
  13. excel取消隐藏_这个毁人无数的Excel黑洞,却成就一批最牛X的高手
  14. python爬虫爬天眼查失信守信企业的名称数据。
  15. 透明网桥算法c++实现
  16. html5 blockquote,html5 – 正确的HTML Blockquote
  17. asterisk1.4与asterisk1.6双机互联问题
  18. xss.haozi.me弹窗练习0x00-0x10
  19. 中国电信提前批(已offer)
  20. 前端入门学习笔记(三十五)vue.js入门(三)条件 v-if 与循环 v-for,v-for 中 in 和 of 的区别

热门文章

  1. 大闹天宫 页游 架设教程 自玩 单机
  2. 永洪科技贺新颖:业务中台+数据中台,赋能企业核心业务
  3. 用c加加创建c语言项目,如何使用visual studio 2017创建C语言项目
  4. linux清理tmp垃圾文件夹,Linux tmp目录自动清理总结
  5. 【C盘内存不足的解决方法】
  6. ip: either “dev“ is duplicate, or “type“ is garbageip: either “dev“ is duplicate, or “txqueuelen“ i
  7. 解决You must configure either the server or JDBC driver (via the serverTimezone conf)
  8. python里output是什么意思_Python入门系列:Input/Output
  9. CDR真实图片转水墨画效果制作教程
  10. 为什么SecureCRT里无法输入?