为什么角度控制器写在里面(function())()

时间:2016-09-18 18:11:56

标签: angularjs

我对angularJS有很好的了解。我遇到了一些以这种方式定义控制器的代码。例如

   (function () {
       angular.module('meanApp')
      .controller('registerCtrl', registerCtrl);
      registerCtrl.$inject = ['$location', 'authentication'];
     }

    })();

我无法理解为什么控制器是这样设计的,即:inside(function())()?.

1 个答案:

答案 0 :(得分:2)

这只是关于范围的细节。这种类型的函数称为自调用函数。

(function () {}()中创建的变量和函数只能在其中使用,因此不是全局的,出于多种原因,这是一种好的做法。

阅读好:https://sarfraznawaz.wordpress.com/2012/01/26/javascript-self-invoking-functions/