所以,我曾经碰过这个想法几次。基本上,有几个消息来源说在定义app.js(模块,控制器等)时使用闭包被认为是最佳实践。
有人可以分解为什么这被认为是最佳实践以及我们通过这样做获得了什么?
一个例子是这个问题的最佳答案: Argument 'MainController' is not a function, got undefined in AngularJS
答案 0 :(得分:0)
我假设你想知道作者为何使用IIFE?
这是为了防止全局命名空间的压缩。图像中包含了其他人的角度模块作为项目中的依赖项,在该模块中,将使用全局MainController。你
a)不会期待它,因此 b)一旦开始定义自己的MainController
,就会导致意外行为为了防止这种情况,但同时保持代码简短易读,使用IIFE和闭包