0

我有这个模仿树形结构:

var MODULESYSTEM =
{
    modules:
    {
        a : function() { return 'modules.a'; }
        b : function() { return 'modules.b'; }
        c :
        {
            d : function() { return 'modules.c.d'; }
        }
    }
}

soMODULESYSTEM.modules.a();是有效的,所以MODULESYSTEM.modules.c.d();也是。但是,如果我想要类似的东西MODULESYSTEM.modules.c();怎么办?它应该返回“modules.c”

4

1 回答 1

3

您将无法在一行中声明那种数据结构。您将需要按程序构建它:

var MODULESYSTEM = {
    modules: {
        // Other top-level namespace objects
        c: function() {
            return 'modules.c';
        }
    }
};

// Later:
MODULESYSTEM.modules.c.d = function() { return 'modules.c.d'; };

如果您可以提供有关您要解决的问题的更多背景信息,则可能会有更好的解决方案。

于 2013-09-20T16:25:00.110 回答