在定义 JS module 时避免 namespace 污染
所谓 JS Module 就是可以被其他程序,例如HTML 使用的 JS 集合。很多 JS 库都是用单独的.js文件来发布自己的功能,这就是module的方式。
module 创建时最常见的问题就是namespace污染,也就是在被应用时使用的名字可能会与其他的变量有冲突。如,一个module定义为 hello,那么如果在被引用的上下文中还存在一个 hello 变量,这就产生了冲突,应该比较好理解。那么如何解决这个问题呢。最简单的是使用更加独特的名字,这个也会承担一些风险,毕竟独特的绝对性有多大,很难估计。所以,人们就使用类似 Java 类包的命名方式,在文件系统中,使用层级目录存放 JS 文件,也就是 module,然后再定义的使用,使用层级的定义方