jquery源码学习之 设计结构
2016-05-15 22:01
597 查看
看了一下jquery 的源码,想记录一下。因为之前自己也写过一个小类库,看了jquery 之后发现jquery 有些设计思路很值得学习。
执行jqeury 入口方法时,他返回时时一个 jqeury.fn.init()的实例。
而
同时定义了扩展方法的函数
这样的好处在于,将实例对象、jqeury静态对象分开,而他们的原型是同一个。这样我既可以给实例对象 扩展方法,也可以对静态对象扩展方法。
今天先到这里,下一次记录一下一些方法 入each,eq,index等
执行jqeury 入口方法时,他返回时时一个 jqeury.fn.init()的实例。
而
jquery.fn=jquery.prototype={ 'init':function(){ return this; } } jquery.fn.init.prototype=jquery.prototype;
同时定义了扩展方法的函数
jQuery.extend = jQuery.fn.extend = function() { var options, target=arguments[0]||{}, i=1, length=arguments.length; if (length==i) {//如果参数只有一个 将 target=this;//指向上下文 i--; } for(;i<length;i++){ options=arguments[i]; for(var name in options){ target[name]=options[name]; } } return target; }//这里只是粗略的实现
这样的好处在于,将实例对象、jqeury静态对象分开,而他们的原型是同一个。这样我既可以给实例对象 扩展方法,也可以对静态对象扩展方法。
今天先到这里,下一次记录一下一些方法 入each,eq,index等
相关文章推荐
- js,jquery,不能通过true/false控制radio的选中状态,prop,attr,
- jQuery学习笔记
- jQuery学习笔记
- day14 jQuery
- 解决跨域的方法
- jQuery与AJAX----jQuery中ajax接口
- jquery-uploadfile的使用(多文件异步上传)
- 基于jquery实现ajax无刷新评论
- jquery的延迟加载插件Lazy Load Plugin for jQuery
- 复习练习(03)jquery Css方法一步步升级
- Jquery全选反选
- 自定义jQuery插件实现分页
- Jquery 复习练习(02)Javascript 与jquery 互转 onclick 与click区别
- 如何实现鼠标悬停图片放大的效果。
- jquery中:input和input的区别
- jquery动画切换引擎插件 Velocity.js 学习01
- jquery.form&jersey异步上传图片(SpringMVC版本)
- WebForm使用JQuery实现DropDownList无刷新联动
- jQuery插件开发汇总
- jquery点击改变class并toggle的实现代码