JS中关于(function( window, undefined ) {})(window)写法的理解
来源:互联网 发布:强制视频软件破解版 编辑:程序博客网 时间:2024/05/18 00:13
在jquery中我们经常看到以下这段代码:
;(function ( $, window, document, undefined ){
//函数体内具体代码
})(jQuery, window,document);
首先说说非常值得提倡的几点:
1、代码最前面的分号,可以防止多个文件压缩合并以为其他文件最后一行语句没加分号,而引起合并后的语法错误。
2、匿名函数(function(){})();:由于Javascript执行表达式是从圆括号里面到外面,所以可以用圆括号强制执行声明的函数。避免函数体内和外部的变量冲突。
3、$实参:$是jquery的简写,很多方法和类库也使用$,这里$接受jQuery对象,也是为了避免$变量冲突,保证插件可以正常运行。
4、window, document实参分别接受window, document对象,window, document对象都是全局环境下的,而在函数体内的window, document其实是局部变量,不是全局的window, document对象。这样做有个好处就是可以提高性能,减少作用域链的查询时间,如果你在函数体内需要多次调用window 或 document对象,这样把window 或 document对象当作参数传进去,这样做是非常有必要的。当然你如果你的插件用不到这两个对象,那么就不用传递这两个参数了。
5、最后剩下一个undefined形参了,那么这个形参是干什么用的呢,看起来是有点多余。undefined在老一辈的浏览器是不被支持的,直接使用会报错,js框架要考虑到兼容性,因此增加一个形参undefined
- JS中关于(function( window, undefined ) {})(window)写法的理解
- JS 关于(function( window, undefined ) {})(window)写法的理解
- JS 关于(function( window, undefined ) {})(window)写法的理解
- JS 关于(function( window, undefined ) {})(window)写法的理解
- JS 关于(function( window, undefined ) {})(window)写法的理解
- 关于(function( window, undefined ) {})(window)写法的理解
- 关于(function( window, undefined ) {})(window)写法的理解
- 前段百科---JS中形如(function(window, undefined) {})(window)写法的理解
- query 中 (function( window, undefined ) {})(window)写法详解(转)
- jquery 中 (function( window, undefined ) {})(window)写法详解(转)
- jQuery 1.4.4 中 function( window, undefined ) 写法原因(function( window, undefined ) {})(window);
- 有关window.undefined=window.undefined写法的理解
- JS 关于(function(w) {...})(window)写法的理解——立即执行函数
- (function (window, undefined){})(window)
- 有关window.undefined=window.undefined写法的理解(Ext2学习总结)
- (function (window, undefined){})(window)
- 详解jquery插件中(function ( $, window, document, undefined )的作用
- 详解jquery插件中(function ( $, window, document, undefined )的作用
- php.ini-dist 与php.ini-recommended
- 括号配对问题
- 让Python在Android系统上飞一会儿
- spring读取配置文件初始化容器操作
- Redis应用场景
- JS中关于(function( window, undefined ) {})(window)写法的理解
- 无刷新上传那些事
- hdu 3369
- Java注解原理分析
- cocos2d-x 2.x MAC 环境搭建
- 平台数据库授权时造成主从同步失败问题的事故报告20120705
- myeclipse中tomcat 7.0 关于64位与32位的冲突问题 ( tcnative-1.dll )
- 上传文件中的目录优化-打散
- VI键盘图