定义:模块模式最初被定义为在传统软件工程中为类提供私有和公共封装的一种方法,能够使一个单独的对象拥有公共/私有的方法和变量,从而屏蔽来自全局作用域的特殊部分.这可以减少我们的函数名与在页面中其他脚本区域内定义的函数名冲突的可能性
在JS中,ES6规则没出来之前,模块化大多是使用函数闭包和第三方规则的形式来写的,例如COMMON.JS,ES6出来后,官方规则就规定了,导出和导入。
先看一下ES5的写法:
因为是闭包的形式,所以此时count不会被js的垃圾回收机制所回收,这样obj这个对象就有了自己的私有属性和公有方法。
ES6之后,提供了规则导入 import和导出export,接下来我们看一下ES6写法
js:js文件用于封装模块,导出有两种方式export default 和export两种方式
html中进行导入,注意script里面type属性要写module哦
浏览器打开结果
以上就是JS设计模式,模块模式的设计思想和使用方法了。