揭示模块模式返回值约定

时间:2017-02-17 08:40:31

标签: javascript naming-conventions convention module-pattern revealing-module-pattern

如果我有一个包含很多这样的东西的模块:

My.Module = (function () {
    function method1 () {}
    function method2 () {}
    ...
    function method99 () {}

    return {
        method1: method1,
        method2: method2,
        ...
        method99: method99
    };
})();

我怎样才能避免重复方法名称?它们都出现在三个地方。

如果我要使用这样的局部变量:

My.Module = (function () {
    var exp = {};

    exp.method1 = function () {};
    exp.method2 = function () {};
    ...
    exp.method99 = function () {};

    return exp;
})();

exp变量应该被叫什么? expexportsexportedobjobject?有关系吗?惯例是什么?

如果有比这两种方式更好的方式,它是什么?

1 个答案:

答案 0 :(得分:0)

第一种方法是IMO最干净的方式。

至于你的secnd方法中的var名称,名称,无论你喜欢什么,名字都不会公开。 Module应该是好的。

但是,如果你真的不想重复功能名称,你可以这样做:

My.Module = (function () {

    return {
        method1: function method1 () {},
        ...
        method99: function method99 () {}
    };
})();