多个 JS 文件共享一个命名空间

来源:互联网 发布:数据结构 算法 严 编辑:程序博客网 时间:2024/03/29 07:33

在 JavaScript 中,使用 var ORain = {} 的形式可以模拟一个名称为 ORain 的命名空间。在实际应用开发中,我们可能会根据功能划分将 JavaScript 代码写到多个 JS 文件中,比如说用于验证的为 check.js,用于界面的为 ui.js,但是我们想把这些文件中都统一到同一个命名空间中,以便于管理以及解决与外部引入的库产生名称冲突的问题,如 ORain.Check.notNull()、ORain.UI.tableSort(),这里要引入的是名称为 ORain 的顶层命名空间,该怎么做呢?

如果我们在每个 JS 文件中,都写 var ORain = {},那么在同一个页面同时引入这两个 JS 文件时,后引入的会覆盖先引入的 JS 文件,即假设引入的顺序是 check.js、ui.js,我们只能调用到 ORain.UI 中的方法,如果所有的 JS 文件要同时可用,我们必须加一个判断,在每个 JS 文件中都包括下述的代码:

if(!ORain)

  var ORain = {};

注意 var,这是必须的,否则会提示 "ORain 未定义"。其实,还可以更简单一些:

var ORain = ORain || {};

原创粉丝点击