打字稿揭示模块模式

时间:2016-10-13 15:45:02

标签: typescript

我在角度应用程序中使用带有JS的Revealing Module Pattern。

现在我要将它从Javascript迁移到Typescript,但我不知道如何将这种模式用于TS。我已经阅读了其他一些帖子,如下所示,但没有一个人在函数开头有返回。 TypeScript code similar to Revealing Module Pattern structure

angular.module('app.services')
.factory('justAService', justAService);

function justAService() {

return {
  a: a
};

var x = {};

function a(){....}

是否可以在顶部写回程?

谢谢

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。它通常用于提高可读性,它根本不会影响程序执行。因为函数评估(定义)在执行javascript之前发生,所以当你的模块返回对函数的引用时,它已经被定义了。但它只适用于以这种方式声明的函数,否则将是无法访问的代码。

示例:

module App{
    angular.module('app.services')
        .factory('justAService', justAService);

    function justAService() {

        return {
            a: a
        };

        function a() {

            var x = {};
        }
    }
}