细说;(function ($, undefined){ })(jQuery); 的使用:

1. 对于function前面的分号(;)的使用:使用分号的目的是为了防止多个文件压缩合并时,以为其他文件最后一行语句没加分号,而引起合并后的语法错误。

2. (function ($, undefined){ })(jQuery)这是一个匿名的函数,一般js库都采用这种自执行的匿名函数来保护内部变量。

3.使用undefined的原因:

(1)因为undefined是window的属性,声明为局部变量之后,在函数中如果再有变量与undefined做比较的话,程序就可以不用搜索undefined到window,可以提高程序的性能。

(2)undefined在版本较旧的浏览器是不被支持的,直接使用会报错,js框架就要考虑到兼容性问题,故增加一个形参undefined

4. $实参:$是jQuery的简写,很多方法和类库也使用$,这里$接收jQuery对象   ,也是为了避免$变量冲突,保证插件可以正常运行。   

5. ;(function ($,window,document, undefined){  //函数体内具体代码      } )(jQuery,window,document);  : function这个函数还可以传window, document这两个实参,这两个

实参分别接收window,document这两个对象,window,document这两个对象都是全局环境下的,而在函数体内的window,document其实是局部变量,不是指全部的

window,或是document对象。这样做有个好处就是可以提高性能,减少作用域的查询时间,如果你在函数体内需要多次调用window,或是document对象,这样把window

或是document对象作为参数传进去,是非常有必要的。如果你的插件中没有用到这两个对象,那么就不需要传这两个参数了。


(function ($, undefined){ })(jQuery); 的使用及说明相关推荐

  1. 细说;(function ($, undefined){ })(jQuery); 的使用

    1. 对于function前面的分号(;)的使用:使用分号的目的是为了防止多个文件压缩合并时,以为其他文件最后一行语句没加分号,而引起合并后的语法错误. 2. (function ($, undefi ...

  2. jquery插件开发;(function ( $, window, document, undefined ){}(jQuery, window,document)分析

    经常看到许多jquery插件是这种形式: ;(function( $, window, document, undefined ){}){//...code }(jquery,window,docum ...

  3. JQuery:$(...).ajaxSubmit is not a function

    用jquery写表单回调的时候报的bug 正如stackover上说的 I'm guessing you don't have a jquery form plugin included. ajaxS ...

  4. jQuery入门基础-附案例

    文章目录 预备知识与后续知识及项目案例 为什么要学jquery jQuery介绍 JavaScript 库 jQuery的概念 jQuery的优点 体验jquery的使用 jquery到底是什么 jq ...

  5. jquery 1.7.2源码解析(二)构造jquery对象

    构造jquery对象 jQuery对象是一个类数组对象. 一)构造函数jQuery() 构造函数的7种用法: 1.jQuery(selector [, context ]) 传入字符串参数:检查该字符 ...

  6. 检测jQuery.js是否已加载的判断代码

    转载自http://www.jb51.net/article/27185.htm 测类.方法.变量或属性是否已存在,这是Javascript编程基础知识.在这里我们就是要检测jQuery()或$()函 ...

  7. 深入理解javascript中的立即执行函数(function(){…})()

    2019独角兽企业重金招聘Python工程师标准>>> javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各 ...

  8. Jquery Types 小结

    JavaScript provides several built-in(内置的) datatypes. In addition to those, this page documents virtu ...

  9. jquery and jquery validation 常见问题解决

    Cannot read property 'settings' of undefined jquery validation 这个问题常常发生在动态添加rule的时候. 解决方法 // 在timeou ...

最新文章

  1. 介绍一个懒人创建springmvc项目的方法(二)
  2. cx_oracle写日志信息_日志系统的设计
  3. POJ 3614-Sunscreen
  4. sublime text3 添加到右键菜单
  5. Java多线程初学者指南(5):join方法的使用
  6. Beaglebone Back学习三(开发环境搭建)
  7. eclipse3.4 SVN插件安装
  8. MAPLAP开发环境中release模式和debug模式烧写.hex文件的不同之处
  9. 适用于MongoDB和Mongometer的SpiderMonkey至V8
  10. 7个顶级资源网站,不知道就很可惜
  11. 作者:卢祥虎,男,北京金信网银金融信息服务有限公司机器学习算法工程师。...
  12. azure云数据库_如何使用Cloud Shell创建Azure SQL数据库
  13. vmware下安装rhel5
  14. ++ 优化 频繁new_Java性能优化
  15. Qt 5.9.1 连 MYSQL 5.7数据库
  16. Qt核心剖析: moc
  17. 动态网页程序设计报告(留言板)
  18. pytorch(6)--深度置信网络
  19. 支持向量回归(SVR)的详细介绍以及推导算法
  20. 12-静态代理设计模式-为了引出spring动态代理

热门文章

  1. 微信小程序授权登录和获取手机号功能(详细)
  2. 【数据共享】深度学习异常行为数据集—疲劳驾驶数据集—行为分析数据集
  3. oracle输出数据,Oracle数据库输出输入
  4. 基于浙大MO平台的开发机器学习算法
  5. Oracle之TO_DATE用法详解
  6. web学习第七天:来自倔驴的怒吼——生理年龄不代表技术年龄
  7. 网站美工全能实战全解析-彭亮-专题视频课程
  8. Android蓝牙开发—经典蓝牙和BLE(低功耗)蓝牙的区别
  9. pid控制温度c语言,C语言编写PID温度控制程序
  10. 考研结束,一起聊聊考研中的故事