;(function(window, document, $) { 的作用及解释
来源:互联网 发布:淘宝达人刷一万粉丝 编辑:程序博客网 时间:2024/05/20 23:59
在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
转载请注明(B5教程网)原文链接:http://www.bcty365.com/content-47-805-1.html
0 0
- ;(function(window, document, $) { 的作用及解释
- 详解jquery插件中(function ( $, window, document, undefined )的作用
- 详解jquery插件中(function ( $, window, document, undefined )的作用
- query插件中(function ( $, window, document, undefined )的作用
- 详解jquery插件中;(function ( $, window, document, undefined )的作用
- $(document).ready(function(){ }) 的用法解释
- $(window).load(function() {})和$(document).ready(function(){})的区别
- $(window).load(function() {}),$(document).ready(function(){}),body.Onload()的区别
- $(window).load(function() {})和$(document).ready(function(){})的区别
- $(window).load(function() {})和$(document).ready(function(){})的区别
- $(window).load(function() {})和$(document).ready(function(){})的区别
- $(window).load(function() {})和$(document).ready(function(){})的区别
- $(document).ready()、 $(function(){})、$().ready(function(){})和window.onload的区别
- $(window).load(function() {})和$(document).ready(function(){})的区别
- $(window).load(function() {})和$(document).ready(function(){})的区别
- $(window).load(function(){}) 和 $(document).ready(function(){})的区别
- $(window).load(function() {})和$(document).ready(function(){})的区别
- $(window).load(function() {})和$(document).ready(function(){})的区别
- 有关线程
- rBackup技术,彻底解决固态硬盘电容老化带来的安全隐患
- win8快速新建便笺
- spring集成mybatis,dbcp连接池,配置文件
- pktgen+dpdk(2.2.0)
- ;(function(window, document, $) { 的作用及解释
- spring mvc+mybatis笔记(一)
- ubuntu16 vim 支持python
- openCV图像处理之重映射
- 模板笔记006 - 术语
- Swift初体验-控制流
- Exeution failed for task 解决方案
- awesome系列网址
- javascript面向对象