什么起作用;(函数(global,$,_){}(app,jQuery,_));意思是
What does ;(function(global,$,_){ }(app,jQuery,_)); mean?
在一个JavaScript文件中,脚本被包装成这个,为什么要将代码包装成这个?有提到这个吗?为什么定义Basepage=global.Basepage
?
;(function (global,$,_) {
var Basepage=global.Basepage = Backbone.View.extend({});
}(app,jQuery,_));
通过设置var Basepage
,Basepage将成为该函数中的局部变量,它们不需要为任何进一步的引用编写global.Basepage
。这样的组织有几个好处,我将尝试列出每一个。
- 函数中的任何变量对代码的其他部分都是不可访问的。如果您声明了像
var x
或var element
这样的通用名称,并且不希望它作为全局变量与其他名称混淆,那么这将非常有用 - 在函数内部,"app"被称为"global"。设置"global.Basepage=Backbone.etc.…"意味着在执行该函数后,
app
将具有BasePage
作为属性 - 一些javascript加载程序框架依赖于这种风格,以便能够在所有依赖项(如JQuery)加载后初始化模块
它是namespacing
的一个方法。通过此操作,您可以将单个变量添加到全局命名空间中,并可以访问它来访问其他方法和变量。
它所做的是在读取代码时自行执行函数,当它执行时,app, jQuery, and _
作为变量传递给函数,这就是参数的作用。global = app
$ = jQuery
_ = _
。
这为您提供了一种在不污染全局命名空间的情况下封装功能的好方法,并降低了覆盖应用程序中同名变量的风险。
相关文章:
- 使用每500ms运行一次的jquery函数是个好主意吗
- 什么'它的意思是当一个变量位于括号外时
- 这个jquery代码是如何工作的
- JQuery - 为什么 JQuery 动画是同时进行的
- 如果值为0,则Jquery formvalidation是必填字段
- 什么意思是“;向原型添加方法”;
- 什么是“;传递给NewPromiseCapability的非构造函数值“;意思是
- 什么是“;(''+元素+'')“;意思是
- 意思是.js - 登录后重定向用户 - 在本地工作,但在部署时不起作用
- 无法使用 ant 和闭包编译器编译 javascript,因为 Jquery 的 $ 是未声明的
- 意思是.JS中间件中的猫鼬填充不起作用
- 究竟是什么'提供静态文件'意思是
- 在Knockout视图模型中调用jQuery插件是一种有效的模式
- $(function () { } in javascript/Jquery 中的意思是什么
- 什么起作用;(函数(global,$,_){}(app,jQuery,_));意思是
- $(这)在jQuery中是什么意思
- 在.trigger中使用时,冒号在jQuery中是什么意思?
- jQuery - $$('#bla')是什么意思?
- 这行 JQuery 代码是什么意思
- function()在jQuery中是什么意思?这个和$(这个)有什么区别