-
为什么jquery插件要这么写?5
(function($){
$.fn.hoverElement=function(){
...
};
})(jQuery);
为什么function前有个小括号?
为什么最后有个(jQuery),是在是没明白,哪位帮忙解释一下2012年12月26日 15:36
7个答案 按时间排序 按投票排序
-
(function($){ $.fn.hoverElement=function(){ ... }; })(jQuery);
解释:
首先function($){ $.fn.hoverElement=function(){ ... }; }
是定义了一个匿名方法,这个方法用小括号包围起来就可以做为一个方法对象来调用,后边的小括号是对方法的调用,类似于fun(jQuery);
jQuery是jquery的主体对象,正常情况下与$是等价的,但个别情况下$与jQuery不等价(调用jQuery.noConflict();),所以要将jQuery做为参数传到刚才定义的方法中,刚才定义的方法中有一个参数$,此时在方法内部就可以使用$来引用jQuery,就不用考虑$是与jQuery等价
与以下代码是等价的,只是下边的代码会占用一个fun的变量名:var fun = function($){ $.fn.hoverElement=function(){ ... }; }; fun(jQuery);
下边再给你解释一下$.fn.hoverElement=function(){
...
};
在jquery中,$是一个模板类,调用jquery选择器后返回的就是$的一个实例对实例调用方法时只能使用$原型中的方法,$.fn=$.prototype,它是指jquery的原型,加上fn上的方法及属性,相当于对$的原型增加方法和属性,这样会对$的每一个实例都有效。2012年12月26日 16:44
-
(function($){
$.fn.hoverElement=function(){
...
};
})(jQuery);
与
jQuery.fn.hoverElement=function(){
... //里面所有的$全部改写成jQuery
};
效果是一样的。
为什么不直接写成
$.fn.hoverElement=function(){
... //里面所有的$全部用$
};
呢?因为如果jQuery与其它js库同时使用,可能两个库都定义了$,就冲突了,具体可以看jQuery.noConflict()的文档。2012年12月27日 10:36
-
//定义一个匿名函数并且调用一次这个函数 ( //定义一个匿名函数 function(参数列表){ //匿名函数的函数体 } )(实际参列表)
这实际上Javascript的标准语法--定义一个匿名函数并调用一次这个函数,楼主贴出的代码相当于:
var fun = function($){ $.fn.hoverElement=function(){ // ... }; } fun(jQuery);
2012年12月26日 23:15
-
(function(){})();
前一个小括号表示匿名函数,后一对小括号表示执行这个函数。
也可以使用参数的, 像这样:(function(n){alert(n);}(100);
结果会显示:100
为什么这么写呢?匿名函数可以防止作用域的污染
比如:var name = 'world'; alert('hello ' + name);
这样的写法会定义全局变量:name
使用匿名函数就避免了这个问题:(function(){ var name = 'world'; alert('hello ' + name); })();
2012年12月26日 17:54
-
jquery 写法很多种
$(function() {
// 从这里开始
});
jQuery(function($){
});
$(function(){
})
2012年12月26日 16:12
相关推荐
jQuery插件jQuery插件jQuery插件jQuery插件jQuery插件jQuery插件jQuery插件jQuery插件jQuery插件jQuery插件jQuery插件jQuery插件jQuery插件
jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery....
jQuery插件是jQuery库的扩展,它为开发者提供了丰富的功能,使得JavaScript编程更为简便和高效。jQuery本身提供了基础的DOM操作、事件处理、动画效果以及Ajax交互等核心功能,但为了满足更复杂的需求,开发者们创建...
组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件...
jquery插件库大全(200个): jqueryQQ表情插件 jquery下拉菜单导航 jquery下拉菜单栏 jquery仿Windows系统选中图标效果 jquery仿京东商品详情页图片放大效果 jquery仿百度新闻焦点轮播 jquery分离布局模版 jquery...
jQuery插件是JavaScript库jQuery生态系统中的一个重要组成部分,它极大地扩展了jQuery的核心功能,为开发者提供了丰富的功能和便捷的API,以实现各种复杂的网页交互和特效。jQuery插件通常由开发者社区创建并开源,...
总之,Sublime Text 2的jQuery插件不仅提供了美观的语法高亮,还可能包含代码提示、自动完成等实用功能,为前端开发者带来了极大的便利。同时,结合源码仓库,你还可以深入学习和理解jQuery的内部工作原理。充分利用...
总结来说,这个“好用清除html的jquery插件”提供了一种高效的方法来处理和展示HTML内容,它可以帮助开发者确保内容的安全性和一致性,同时也为学习jQuery插件开发提供了实践案例。通过对插件源代码的研究,你可以...
JQuery插件的写法 最常用的jquery插件开发方式(教程合集) jquery插件的例子 jQuery插件开发教程_看这一本就行了 JQuery插件写法 jq插件最常用的写法
"50个jQuery插件介绍"这篇文档很可能包含了对各种功能强大、用途广泛的jQuery插件的详细解读,帮助开发者提升网站的用户体验和功能实现。 首先,jQuery插件是jQuery库的扩展,由社区开发者创建,用于解决特定问题或...
2. **多媒体播放**:jQuery插件如`jQuery.media`和`jPlayer`提供了优雅的方式来处理视频和音频播放,支持多种格式,提供自定义的播放器皮肤和控制选项,使开发者能够创建互动性强的多媒体体验。 3. **DOM操作和事件...
Ddreamweaver jquery 插件 Ddreamweaver jquery 插件Ddreamweaver jquery 插件 Ddreamweaver jquery 插件 Ddreamweaver jquery 插件 Ddreamweaver jquery 插件 Ddreamweaver jquery 插件
资源名称:jquery插件特效 WORD版内容简介:本文档主要讲述的是jquery插件特效;jQuery 是继 prototype 之后又一个优秀的 Javascript 框架。其宗旨是—写更少的代码,做更多的事情。jQuery 是一个快速的,简洁...
JQuery插件是JavaScript库JQuery生态中的一个重要组成部分,它扩展了JQuery的基本功能,为开发者提供了更加丰富和便捷的API来实现各种复杂的交互效果和动画。在网页开发中,JQuery插件广泛应用于增强用户体验、创建...
本文将深入探讨“很好用的Jquery插件”,并介绍几个常用插件及其简单使用方法,这对于在项目中提升用户体验具有显著帮助。 首先,jQuery库的核心优势在于它的API设计,它提供了丰富的选择器、DOM操作、事件处理和...
"jquery插件库-jquery仿京东商品详情页图片放大效果.zip"这个压缩包文件包含了一个jQuery插件,旨在模仿京东商品详情页中的图片放大效果,为用户提供更直观的商品查看体验。 首先,我们来详细了解一下jQuery插件的...
jQuery打印插件jqprint,jquery.jqprint-0.3.js 下载,内包含使用示例,下载解压可直接在浏览器打开使用。 jQuery打印插件jqprint,jquery.jqprint-0.3.js 下载,内包含使用示例,下载解压可直接在浏览器打开使用。 ...
标题“eclipse上支持jquery插件”所指的就是这种能够为Eclipse添加jQuery智能提示和代码辅助功能的扩展。这样的插件使得开发者在编写jQuery代码时,可以享受到如同使用Java或其他语言一样的代码补全、错误检查和调试...