1. 我想知道以下模式之间有什么区别(优势/缺点)。
  2. 如何根据模块模式创建子模块?

我的目标是让我 JS 组织成 多个文件 那是 懒惰的加载 但是有一个名称空间。

例如:

so.global(global.js)so.global.registration(registration.js)

var SO = function(){

    var CONSTANT = 'Z';

    function createX(){
      alert("create X");
    }

    function getY(){
       alert("get Y");
    }
    return{
      create:createX,
      get:getY
    }
}();

//SO.createX(); 
//SO.getY();

VS.

var SO = (function() {

    var CONSTANT = 'Z';

    function createX(){
      alert("create X");
    }

    function getY(){
       alert("get Y");
    }

    return {
      create:createX,
      get:getY
    }

} ());
有帮助吗?

解决方案

你有没有考虑过 require.js?它试图提供以下解决方案:

  • 某种#包括/导入/要求
  • 能够加载嵌套依赖项
  • 开发人员的易用性,但随后以优化工具为支持,该工具有助于部署

require.js实施 模块/异步定义 由common.js定义的规格

其他提示

这是一个很好的阅读: http://snook.ca/archives/javascript/no-love-for-module-pattern, ,另一个: http://lamb.cc/blog/category/javascript/

Yui和我一样,狂热地使用它,我还没有发现任何受到它限制的情况,并且它与自定义模块的YUI依赖装载机很好地集成在一起。

(对不起,我意识到这不是一个完整的答案,但是有一些未删除的信息为您

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top