什么是模块?
好的作者将他们的书分为章节,优秀的程序员将其程序分为模块,好的模块是高度独立的,具有独特的功能,可以根据需要对它们进行改组,删除或添加,而不会破坏整个系统。
为什么要使用模块?
可维护性
模块是独立的。设计良好的模块旨在尽可能减少对代码库各部分的依赖,从而使其能够独立增长和改进。当模块与其他代码解耦时,更新单个模块要容易得多。
命名空间
在JavaScript中,顶级函数范围之外的变量是全局变量。因此,普遍存在命名空间污染,这是一大禁忌,模块允许我们通过为变量创建私有空间来避免名称空间污染。
可重用性
可以将以前编写的代码复制到一个新的项目中使用。
模块模式
Module模式用于模仿类的概念(因为JavaScript本身不支持类),因此我们可以将公共方法和私有方法以及变量存储在单个对象中-类似于在Java等其他编程语言中使用类的方式或Python。这使我们可以为要公开的方法创建面向公众的API,同时仍将私有变量和方法封装在闭包范围内。