【发布时间】:2015-01-08 06:15:52
【问题描述】:
开始查看 AngularJS 的 HotTowel 模板,所有这些“为什么”的问题都在我脑海中浮现。我已经清除了其中一些,但无法清除这个。 IE。对控制器使用“立即调用函数表达式 (IIFE)”。下面是来自“shell.js”的代码
(function () {
'use strict';
var controllerId = 'shell';
angular.module('app').controller(controllerId,
['$rootScope', 'common', 'config', shell]);
function shell($rootScope, common, config) {
var vm = this;
//rest of the code omitted
我不明白为什么在这里使用 IIFE。一个原因可能是如果我们不使用 IIFE,那么
var controllerId = "shell"
将具有全局范围(对吗?)。我试图删除 IIFE 样式,显然它没有任何问题。我浏览了AngularJS Style Guide,但在那里找不到解释。有人可以解释一下我们采用这种方法可以获得什么好处吗?
附:如果您认为这不是此问题的正确位置,请指出正确的位置。
【问题讨论】:
标签: javascript angularjs hottowel