细说;(function ($, undefined){ })(jQuery); 的使用
Posted 竹林后生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了细说;(function ($, undefined){ })(jQuery); 的使用相关的知识,希望对你有一定的参考价值。
1. 对于function前面的分号(;)的使用:使用分号的目的是为了防止多个文件压缩合并时,以为其他文件最后一行语句没加分号,而引起合并后的语法错误。
2. (function ($, undefined){ })(jQuery)这是一个匿名的函数,一般js库都采用这种自执行的匿名函数来保护内部变量。
3.使用undefined的原因:
(1)因为undefined是window的属性,声明为局部变量之后,在函数中如果再有变量与undefined做比较的话,程序就可以不用搜索undefined到window,可以提高程序的性能。
(2)undefined在版本较旧的浏览器是不被支持的,直接使用会报错,js框架就要考虑到兼容性问题,故增加一个形参undefined
4. $实参:$是jQuery的简写,很多方法和类库也使用$,这里$接收 ,也是为了避免$变量冲突,保证插件可以正常运行。
(window,document); : function这个函数还可以传window, document这两个实参,这两个实参分别接收window,document这两个对象,window,document这两个对象都是全局环境下的,而在函数体内的window,document其实是局部变量,不是指全部的
window,或是document对象。这样做有个好处就是可以提高性能,减少作用域的查询时间,如果你在函数体内需要多次调用window,或是document对象,这样把window或是document对象作为参数传进去,是非常有必要的。如果你的插件中没有用到这两个对象,那么就不需要传这两个参数了。
以上是关于细说;(function ($, undefined){ })(jQuery); 的使用的主要内容,如果未能解决你的问题,请参考以下文章
JS 关于(function( window, undefined ) {})(window)写法的理解转
Call to undefined function怎么解决
Call to undefined function怎么解决?
jquery源码中的(function(window, undefined){})(window)
分析(function(window, undefined) {})(window)
这个 JavaScript/jQuery 语法是如何工作的:(function(window, undefined) )(window)?