当前位置:首页 > 日记 > 正文

jquery封装插件时匿名函数形参和实参的写法解释

jquery封装插件时匿名函数形参和实参的写法解释

 在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

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!

相关文章

WdatePicker.js时间日期插件的使用

WdatePicker.js时间日期插件的使用

插件,时间日期,使用方法,电脑软件,WdatePicker,本文介绍了WdatePicker.js时间插件使用,分享给大家,具体如下:引用: 在项目中引用“plugin-clander”文件夹。 在html中引用”WdatePicker.js”即可。<script src="js/plugin-clander/WdatePicker…

vue轮播图插件vue-awesome-swiper

vue轮播图插件vue-awesome-swiper

轮播图,代码实例,插件,电脑软件,vue,最近写vue2.0项目中用到了轮播图的一个插件,也就是vue-awesome-swiper,个人感觉还是比较强大的,swiper官网中的API及配置均可使用(支持3.0),以下说下使用该插件的一些步骤:第一步安装npm install vue-awesome…

jquery select插件异步实时搜索实

jquery select插件异步实时搜索实

实时搜索,插件,异步,实例代码,电脑软件,一、先看看效果。二、做此插件的原因。1.数据量过大(几千、几万条),无法一次性全部加载。2.现有插件各不相同,无法满足功能需求。3.美观性,可控性不足。三、如何使用。1.html和js<select id="unit"></se…

html5+canvas实现支持触屏的签名插

html5+canvas实现支持触屏的签名插

插件,支持,触屏,教程,电脑软件,前言大家在日常开发中使用该jQuery插件来制作在线签名,用户绘制的东西以图片的形式保存下来,非常方便实用。下面将实现支持的方法分享给大家,供大家参考学习,下面来一起看看详细的介绍吧。方法如下:使用该签名插件…

jQuery dateRangePicker插件使用方

jQuery dateRangePicker插件使用方

插件,使用方法,详解,电脑软件,jQuery,jQuery dateRangePicker插件使用总结。版本说明:当前使用版本:2.1.25特别说明:版本不同,部分api可能会发生变化,需要引起重点关注效果图关键代码片段$("#dateTimeRange span").html(moment().subtract(1, …

原生js封装添加class,删除class的

原生js封装添加class,删除class的

删除,封装,原生,实例,电脑软件,一、添加classfunction addClass(ele,cName) { var arr = ele.className.split(' ').concat(cName.split(" ")); for(var i=0;i<arr.length;i++){ for(var k=arr.length-1;k>i;k--){ (arr[k]==="")&…

bootstrap select下拉搜索插件使用

bootstrap select下拉搜索插件使用

搜索,插件,使用方法,详解,电脑软件,bootstrap-select是boot的下拉搜索插件,使用的时候有时我们需要动态从后台 或者 直接加载动态数据。下面是根据一级下拉菜单,动态加载二级联动方式。(不是ajax后台获取)首先引入js与css文件(一个css两个js)<lin…

详解Vue 2.0封装axios笔记

详解Vue 2.0封装axios笔记

封装,详解,笔记,电脑软件,Vue,前言单页面应用大多采用前后端分离开发思路,我们知道,前端和后端交互有多中方式(服务器端渲染、Ajax、websocket等),今天我们主要讲解Ajax部分。最近团队讨论了一下,Ajax 本身跟 Vue 并没有什么需要特别整合的地方…

jquery.uploadifive插件怎么解决上

jquery.uploadifive插件怎么解决上

上传,文件大小,插件,电脑软件,jquery,jQuery.uploadifive插件可以很好的解决上传限制图片或文件大小问题,具体方法如下所示:插件是可以用 但遇到问题如何提示是否超过限制呢没办法研究插件js 发现网上给的提示这个插件里竟然没有没有没有.…

BootStrap Datepicker 插件修改为

BootStrap Datepicker 插件修改为

默认,插件,中文,修改,方法,bootstrap-datepicker 是一个非常优秀的时间选择插件,默认是英文显示日期的,通过下面几个小修改让其支持默认中文1、首先将 bootstrap-datepicker.js 另存为 utf-8 格式保存2、增加 cn 语言选项 var dates = $.fn.d…

javascript笔记之匿名函数和闭包

javascript笔记之匿名函数和闭包

闭包,匿名函数,笔记,电脑软件,javascript,本文介绍了js匿名函数和闭包的相关内容,供大家参考,具体内容如下匿名函数<script type="text/javascript"> //function(){}//会报错 var fun = function(){};//将匿名函数赋值给变量 (function…

jQuery分页插件jquery.pagination.

jQuery分页插件jquery.pagination.

分页,插件,使用方法,电脑软件,jQuery,jquery.pagination.js插件,此jQuery插件为Ajax分页插件,一次性加载全部数据,故分页切换时无刷新与延迟,只是重写指定dom元素中的html内容,如果数据量较大不建议用此方法,因为加载会比较慢;jQuery的多数插件使…