This question already has answers here:
How does the (function() {})() construct work and why do people use it? [closed]
                                
                                    (15个回答)
                                
                        
                                6年前关闭。
            
                    
在一个JavaScript文件中,脚本被包装在其中,为什么要将代码包装在其中?有什么参考吗?为什么要定义Basepage=global.Basepage

;(function (global,$,_) {
  var Basepage=global.Basepage = Backbone.View.extend({});
}(app,jQuery,_));

最佳答案

通过设置var Basepage,Basepage将成为该函数中的局部变量,并且它们无需为任何其他引用编写global.Basepage。这样的组织有很多好处,我将尝试列出每一项。


函数内的任何变量都将无法被代码的其他部分访问。如果您声明一个通用名称(例如var xvar element)并且不希望将其与其他变量混合在一起作为全局变量,这将非常有用。
在函数内部,“ app”称为“全局”。设置“ global.Basepage = Backbone.etc ...”意味着执行该功能后,app将具有BasePage作为属性。
一些javascript loader-frameworks依赖于此样式,以便能够在模块的所有依赖项(如JQuery)均已加载后初始化模块。

关于javascript - ;(function(global,$,_){}(app,jQuery,_))是什么?意思? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18393053/

10-09 16:39