2016-11-05 71 views
0

我是一个遵循angularjs教程中,我遇到过这样的事情:宗旨,以创建匿名函数,并把它立即

(function(){ 
    'use strict' 
    angular.module('users',['ngMaterial]); 
})(); 

我想知道是什么,而这之间的区别:

angular.module('users',['ngMaterial']); 

据我了解,两者都定义了一个新的angularjs模块,但我猜测还有更多呢?

+1

http://stackoverflow.com/questions/2421911/what-is-the-purpose-of-wrapping-whole-javascript-files-in-anonymous-functions-li +如果它是一个教程他们以后可能会添加更多内容。 – JJJ

回答

0
var module1=angular.module('users',['ngMaterial']); 
 
console.log(window.module1);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

利用上述代码段。这是一个全局变量,将被复制到全局对象(窗口)

(function(){ 
 
    'use strict' 
 
    var module1=angular.module('users',['ngMaterial']); 
 
    console.log(module1); 
 
})(); 
 
            
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

在这个片段中,你的应用程序是不复制到窗口(全局)对象和modularising代码

希望它有帮助