jquery插件
2016-05-25 15:19
369 查看
分析三:插件接口
jQuery的主体框架就是这样,但是根据一般设计者的习惯,如果要为jQuery或者jQuery prototype添加属性方法,同样如果要提供给开发者对方法的扩展,从封装的角度讲是不是应该提供一个接口才对,字面就能看懂是对函数扩展,而不是看上去直接修改prototype.
jQuery支持自己扩展属性,这个对外提供了一个接口,jQuery.fn.extend()来对对象增加方法
从jQuery的源码中可以看到,jQuery.extend和jQuery.fn.extend其实是同指向同一方法的不同引用
通过extend()函数可以方便快速的扩展功能,不会破坏jQuery的原型结构
jQuery.extend = jQuery.fn.extend = function(){...}; 这个是连等,也就是2个指向同一个函数,怎么会实现不同的功能呢?这就是this 力量了!
针对fn与jQuery其实是2个不同的对象,在之前有讲述:
jQuery.extend 调用的时候,this是指向jQuery对象的(jQuery是函数,也是对象!),所以这里扩展在jQuery上。
而jQuery.fn.extend 调用的时候,this指向fn对象,jQuery.fn 和jQuery.prototype指向同一对象,扩展fn就是扩展jQuery.prototype原型对象。
这里增加的是原型方法,也就是对象方法了。所以jQuery的api中提供了以上2中扩展函数。
jQuery的主体框架就是这样,但是根据一般设计者的习惯,如果要为jQuery或者jQuery prototype添加属性方法,同样如果要提供给开发者对方法的扩展,从封装的角度讲是不是应该提供一个接口才对,字面就能看懂是对函数扩展,而不是看上去直接修改prototype.
jQuery支持自己扩展属性,这个对外提供了一个接口,jQuery.fn.extend()来对对象增加方法
从jQuery的源码中可以看到,jQuery.extend和jQuery.fn.extend其实是同指向同一方法的不同引用
jQuery.extend 对jQuery本身的属性和方法进行了扩展 jQuery.fn.extend 对jQuery.fn的属性和方法进行了扩展
通过extend()函数可以方便快速的扩展功能,不会破坏jQuery的原型结构
jQuery.extend = jQuery.fn.extend = function(){...}; 这个是连等,也就是2个指向同一个函数,怎么会实现不同的功能呢?这就是this 力量了!
针对fn与jQuery其实是2个不同的对象,在之前有讲述:
jQuery.extend 调用的时候,this是指向jQuery对象的(jQuery是函数,也是对象!),所以这里扩展在jQuery上。
而jQuery.fn.extend 调用的时候,this指向fn对象,jQuery.fn 和jQuery.prototype指向同一对象,扩展fn就是扩展jQuery.prototype原型对象。
这里增加的是原型方法,也就是对象方法了。所以jQuery的api中提供了以上2中扩展函数。
相关文章推荐
- PHP+Mysql+jQuery实现文件下载次数统计
- JQuery 相关
- [基于动态加载元素的全选与反选] Jquery 全选反选 (jquery版本有差异)
- 分析一:jQuery的无new构建
- jQuery插件
- jQuery为什么移除了.toggle()方法
- jQuery中on绑定事件后引发的事件冒泡问题如何解决
- jquery获取列表某行某列的值
- jquery的autocomplete插件实现自动补全和级联
- jQuery each函数源码分析
- jQuery中的each()详细介绍(推荐)
- jQuery中each()、find()和filter()等节点操作方法详解(推荐)
- jquery插件jcrop的初步认识与用法
- javascript 学习小结 (三) jQuery封装ajax尝试 by FungLeo
- Jquery自定义布局框架
- jquery easyui datagrid实现增加,修改,删除方法总结
- Jquery中each的三种遍历方法
- JQuery插件:图片上传本地预览插件,改进案例一则。
- jQuery EasyUI的使用
- 15个值得开发人员关注的jQuery开发技巧和心得总结【经典收藏】