5
  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
    }

} ());
4

2 回答 2

5

你考虑过 Require.JS吗?它试图提供以下解决方案:

  • 某种#include/import/require
  • 加载嵌套依赖项的能力
  • 易于开发人员使用,但由有助于部署的优化工具提供支持

Require.JS 实现了 Common.JS定义的模块/异步定义规范

于 2011-01-27T22:49:45.017 回答
3

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

YUI 像我一样狂热地使用它,我没有发现任何我受它限制的情况,并且它很好地与自定义模块的 YUI 依赖加载器集成。

(对不起,我意识到这不是一个完整的答案,但有一些未经篡改的信息给你)

于 2010-11-04T20:40:34.630 回答