jQuery 源码分析笔记小结.doc_第1页
jQuery 源码分析笔记小结.doc_第2页
jQuery 源码分析笔记小结.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

jQuery 源码分析笔记小结 jQuery的宗旨是WriteLess,DoMore。它对JavaScript的开发风格侵入性不如YUI那么强,当然也不如Dojo和YUI如此庞大。它极大的简化了JavaScript的日常开发工作,主要是DOM元素的操作(从名字Query就可以看出)。另外一个主要工作就是每个前端开发者都需要面对的浏览器兼容性。jQuery兼容所有主流浏览器的大部分版本,从万恶的IE6开始直到Firefox,Chrome等现代浏览器。除了居于核心的一小部分代码之外,剩下的jQuery都是松散的函数,扩展性很强。plugins.jquery.上有成千上万的jQuery插件,你需要的功能几乎都有对应的jQuery插件,而且不止一个。 jQuery代码的头部是License声明。采用了GPLv2和MIT双协议。而在jQuery声明下是另一个项目的声明:Sizzle。这是jQuery作者另外的一个开源项目,在MIT、BSD和GPL下发布。它是一个独立的selector实现(pure-JavaScriptCSSselectorengine),可以独立使用。它的压缩版本只有3KB多一点,号称效率最高的选择器实现。jQuery从1.3开始使用Sizzle代替了原来的selector实现。 JS代码中有大量的()和,这里使用的是Vim阅读,因为%命令可以快速的找到匹配的括号。 代码总体结构和变量 jQuery的代码整体上就是一个匿名函数调用: 复制代码代码如下: (function(window,undefined) /. )(window); 这是为了避免污染全局对象,同时也可以方便的管理执行上下文。这个技巧在JS代码中经常见到,在jQuery代码中也很常见。比如,在jQuery和其他JS库同时使用时,$符号可能已经被使用了。为了仍然使用$符号: 复制代码代码如下: (function($) /$(.).照常使用$ )(jQuery); 在这里传入真正的jQuery对象。 下面进入真正的实现部分,首先是$,也就是jQuery对象的声明,其中最基本的两个成员也列出来了: 复制代码代码如下: varjQuery=(function() varjQuery=function(selector,context) /真正的初始化函数 returnnewjQuery.fn.init(selector,context,rootjQuery); , /一大堆变量声明 /fn是主要的函数实现点,也是jQuery插件的起点。实际上就是JS原型 jQuery.fn=jQtotype= ; /一个扩展对象用的函数,可以动态地往对象上加成员。以后往jQuery里面加成员都是用extend函数完成的。 jQuery.extend=jQuery.fn.extend=function() ; /. returnjQuery; )(); jQuery对象是核心对象,所有$(.)得到的都是jQu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论