Jquery是个不错的JS框架,非常值得研究。
今天晚上花了一个来小时的时间研究了一下JQuery的插件机制。主要看了《jquery实战》,同时参考《javascript权威指南》
几点心得:
1.插件开发时,为什么是下面的代码结构:
(function($){
//code goes here
})(jQuery);
这个结构实际上是一个匿名函数的声明之后加上了(),即表示声明匿名函数,同时执行它。
重要的是这个函数的参数,和执行时传进来的参数:两个要点,该函数的具名参数名称是$,这样在函数内部,可以用$来指代传进来的参数;另一方面,传进来的参数是jQuery,也就是说不管当前的环境中$代表的是什么,是jQuery还是Prototype,在我们的插件函数中$可以用来指代jQuery. 当然,如果你不想要这种方便,也可以直接使用jQuery.
2. 关于javascript的闭包.
感觉开发jQuery的插件,实际上就是在做一个闭包.
实际上闭包的产生是由于嵌套函数产生的,函数执行完成以后,该函数的调用结构可能还存在,仍然可以引用函数中的局部变量.
具体到jQuery的插件中,当将插件引入到页面中以后,就会执行在插件中定义的
(function($){/*code goes here*/})(jQuery)
结构,该结构中会有如下语句:
jQuery.fn.pluginName = function(){};
上句中后段定义的是匿名函数是个嵌套函数,将其赋给了全局对象jQuery的属性,这样在插件函数执行完成以后,该函数的调用对象不会被销毁.该函数中定义的所有的局部变量都仍继续存在.但只能在该函数内部可以访问,其作用相当于私有变量.
3.使用散列对象封装函数的多个可选参数,使用$.extend({默认值},options||{});对参数进行处理.
4.两种扩展方法
$.extend(object)
$.fn.extend(object)
第一种方法是对jQuery类添加类属性,该方法可以直接通过$进行访问,例如$.object第二种方法是对jQuery.prototype进行扩展,相当于对jQuery的实例添加成员属性.该类方法的访问需要通过jQuery对象,不能通过$直接进行访问,需要先建立jQuery的对象.例如$('someId').object
分享到:
相关推荐
你可以通过查看源代码来学习其工作原理,这对于初学者或者希望深入了解jQuery插件开发的人来说是一个很好的学习机会。 标签“清除html格式”是这个插件的核心特性,它可能包括移除HTML标签、属性、样式以及其他非...
在Sublime Text 2中安装jQuery插件,可以极大地提升前端开发者的工作效率,使得jQuery代码的编写更加得心应手。 jQuery是一种强大的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互等任务,极大地...
在实际开发中,了解并掌握这些jQuery插件的使用,能够大大提升开发效率,同时也能够为用户提供更加友好、功能丰富的界面。JS和jQuery是前端开发的常用工具,掌握它们的高级用法和相关插件,对于提升个人技能和项目...
首先,我们来看看jQuery插件开发的基础。jQuery插件通常以函数的形式存在,通过$.fn.extend()方法将新的方法添加到jQuery对象上,使得所有选择器匹配的元素都能调用这个新方法。例如: ```javascript (function($){...
10. **D3.js**:虽然不是直接的jQuery插件,但D3库允许开发者直接操作DOM来创建复杂的可视化,可与jQuery结合使用。 每个插件都有其特点和适用场景,选择时应考虑性能、功能需求、学习曲线以及项目的兼容性要求。...
**jQuery插件--滑动条** 滑动条(Slider)是一种常见的用户界面元素,它允许用户通过拖动滑块在预设范围内选择一个值。在Web开发中,jQuery库提供了丰富的功能来创建交互性强且美观的滑动条,极大地提升了用户体验...
此外,jQuery还支持插件开发,使得开发者可以扩展其功能。书中可能涵盖了如何创建自定义插件以及利用现有的社区插件进行开发。 通过研究"9780321815262_styer_learningjquery_code"中的示例代码,读者可以逐步了解...
7. **插件扩展**:除了内置组件,jQuery EasyUI 还允许开发人员创建自定义插件,以满足特定项目的需求。社区也提供了许多第三方插件,增强了框架的功能。 8. **版本更新与维护**:jQuery EasyUI 持续更新,修复已知...
《jQuery刻度尺风格横向时间轴插件timeline详解》 在网页设计中,时间轴是一种常见且有效的展示信息的...通过深入研究其代码和资源,开发者不仅可以快速集成此插件,还能从中学习到jQuery插件开发的基本思路和技巧。
总之,这个【原创日历Jquery插件】是学习和实践前端开发,特别是Jquery插件开发的好材料,它涵盖了从基础的DOM操作到高级的用户体验设计等多个方面,对于提升开发者技能非常有帮助。同时,它也体现了开源和共享的...
无聊可以研究下”表明这可能是作者个人学习或实验的成果,用于存放和分享他对jQuery插件开发的理解和实践。这个项目可能包含了作者对jQuery特定功能的实现,或者是对已有功能的增强和改进,供其他人学习和参考。 ...
虽然Bootstrap本身并不是一个jQuery插件,但其与jQuery的集成非常紧密,提供了一系列的UI组件,如模态框(Modal)、警告对话框(Alert)、下拉菜单(Dropdown)和导航条(Navbar)。这些组件可以快速构建响应式和...
【标题】基于JQuery开发的弹窗插件 在Web开发中,弹窗是一种常见的交互方式,用于显示警告、确认信息或提供用户输入等。JQuery是一个轻量级的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互等...
本主题聚焦于一个特定的jQuery插件——"N级导航栏",该插件专为构建多级菜单导航系统而设计,适用于网站头部或侧边栏,以提供用户友好的浏览体验。 这个插件的核心功能在于它能处理任意数量的导航层级,这意味着你...
一个标准的jQuery插件通常会定义一个新的方法,用户可以通过$.fn.waitForImages这样的方式调用。$.fn实际上是jQuery对象的原型,因此这个方法可以应用于任何jQuery选择器选取的元素集合上。 ```javascript ...
通过详细研究这个压缩包中的每个案例,你可以深入了解jQuery的用法,提高自己的Web开发技能。记得结合理论学习,实践是检验理解的最佳方式。同时,这些案例也是很好的起点,你可以在此基础上扩展和定制自己的项目,...
以上只是一部分可能包含在“50个最好的JQuery插件大全”中的插件类型,每个插件都有其独特的特性和用途,通过深入研究这些插件,你可以提升网站的功能性和用户体验,让项目更加专业和完善。记住,正确选择和使用...
jQuery插件是JavaScript库jQuery的一种扩展,用于增加特定功能或改善用户界面。"jQuery 插件demo 自动补全"是指...通过研究和理解这个示例,开发者能够加深对jQuery插件开发、前端与后端交互以及数据驱动UI设计的理解。
通过使用这些资源,开发者不仅可以了解jQuery的基本用法,还可以深入研究如何结合插件扩展其功能。对于学习和项目开发来说,这个压缩包提供了一个很好的起点,特别是对于那些希望了解jQuery早期版本特性的开发者而言...
总的来说,"图片文件上传回显jQuery插件——插件四"是前端开发中提高用户体验的一个实用工具,它利用jQuery、JavaScript和Ajax技术实现了图片的预览和上传功能。通过研究和使用这个插件,开发者不仅可以快速实现所需...