<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_释然's Coder Life_分类_jQuery</title><id>http://feed.cnblogs.com/blog/u/19297/category/301373/rss</id><updated>2012-06-01T07:40:20Z</updated><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/fjzhou/category/301373.html"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/19297/category/301373/rss"/><entry><id>http://www.cnblogs.com/fjzhou/archive/2011/06/18/jquery-source-7.html</id><title type="text">jQuery 源码分析笔记(7)</title><summary type="text">###Queue[queue](http://api.jquery.com/queue)是用来维护函数队列的。比较常用的是queue(queueName, callback);其中queueName缺省是fn，即标准函数队列。每个Element可以拥有多个队列，但是基本上都只使用到一个，即默认的fn队列。队列允许一系列函数被异步地调用而不会阻塞程序。例如：$("#foo").slideUp().fadeIn();其实这个就是我们大家常用的链式调用，实际上这是一个Queue。所以队列和Deferred地位类似，是一个内部使用的基础设施。当slideUp运行时，fadeIn被放</summary><published>2011-06-18T14:03:00Z</published><updated>2011-06-18T14:03:00Z</updated><author><name>FJ. Zhou</name><uri>http://www.cnblogs.com/fjzhou/</uri></author><link rel="alternate" href="http://www.cnblogs.com/fjzhou/archive/2011/06/18/jquery-source-7.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/fjzhou/archive/2011/06/18/jquery-source-7.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/fjzhou/archive/2011/06/07/jquery-source-6.html</id><title type="text">jQuery 源码分析笔记(6)</title><summary type="text">###jQuery.data[data模块](http://api.jquery.com/data/)是一个比较有趣的功能，可以为任意的Element添加额外的数据。而且处理了循环引用和内存泄漏的问题。API非常简单，就是.data(key, value)用来保存，.data(key)用开查询数据。data部分的代码从1381行开始。最开始的几行关键代码：jQuery.extend({ // 存储数据的地方，关键实现核心 cache: { }, // 分配ID用的seed uuid: 0, // 为了区别不同的jQuery实例存储的数据，使用前缀+jQuery版本号+随机数作为Key expa</summary><published>2011-06-07T12:33:00Z</published><updated>2011-06-07T12:33:00Z</updated><author><name>FJ. Zhou</name><uri>http://www.cnblogs.com/fjzhou/</uri></author><link rel="alternate" href="http://www.cnblogs.com/fjzhou/archive/2011/06/07/jquery-source-6.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/fjzhou/archive/2011/06/07/jquery-source-6.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/fjzhou/archive/2011/06/01/jquery-source-5.html</id><title type="text">jQuery 源码分析笔记(5)</title><summary type="text">###jQuery.support接下来是非常纠结的一个话题，也是所有JS库必须实现的一个功能：浏览器兼容性和为开发者屏蔽这些差异。其中[jQuery.browser](http://api.jquery.com/jQuery.browser)已经提供了根据UserAgent检测的浏览器信息。而[jQuery.support](http://api.jquery.com/jQuery.support)使用特性检测来检查浏览器的功能以及Bug。和文档一样，首先说明一下，这个模块是很底层的代码，基本不需要在日常开发中使用，但是插件的开发者更需要。因为插件需要兼容各个浏览器。首先看一下support</summary><published>2011-06-01T07:19:00Z</published><updated>2011-06-01T07:19:00Z</updated><author><name>FJ. Zhou</name><uri>http://www.cnblogs.com/fjzhou/</uri></author><link rel="alternate" href="http://www.cnblogs.com/fjzhou/archive/2011/06/01/jquery-source-5.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/fjzhou/archive/2011/06/01/jquery-source-5.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/fjzhou/archive/2011/05/31/jquery-source-4.html</id><title type="text">jQuery 源码分析笔记(4)</title><summary type="text">###Ready函数接下来回到最开始的jQuery.extend函数（268行）中的ready(fn)的定义。这个函数用来处理DOM加载完成的事件。差不多是jQuery最常用的函数之一了。这个功能在jQuery的[文档](http://api.jquery.com/ready)中提到了三种等价的形式：// 定义在jQuery.fn.ready$(document).ready(handler);// 和上一个是同一个，不推荐$().ready(handler);// 单独在jQuery对象中处理$(handler);// 以上这个形式的定义：if(jQuery.isFunction(selec</summary><published>2011-05-31T12:38:00Z</published><updated>2011-05-31T12:38:00Z</updated><author><name>FJ. Zhou</name><uri>http://www.cnblogs.com/fjzhou/</uri></author><link rel="alternate" href="http://www.cnblogs.com/fjzhou/archive/2011/05/31/jquery-source-4.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/fjzhou/archive/2011/05/31/jquery-source-4.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/fjzhou/archive/2011/05/30/jquery-source-3.html</id><title type="text">jQuery 源码分析笔记(3)</title><summary type="text">###Deferred机制从1.5版本开始，jQuery加入了Deferred功能，让事件处理队列更加的完善。并用这个机制重写了Ajax模块。虽然还没轮到Ajax，但是接下来的事件处理函数中牵扯到了这个机制，所以提前看这段代码。Deferred把回调函数注册到一个队列中，统一管理，并且可以同步或者异步地调用这些函数。jQuery.Deferred()用来构造一个Deferred对象。该对象有状态值，共有三种:Rejected, Resolved和初始状态。其中Resolved表示该操作成功完成了，而Rejected则表示出现了错误，调用失败。Deferred对象的主要成员如下：* done(c</summary><published>2011-05-30T12:05:00Z</published><updated>2011-05-30T12:05:00Z</updated><author><name>FJ. Zhou</name><uri>http://www.cnblogs.com/fjzhou/</uri></author><link rel="alternate" href="http://www.cnblogs.com/fjzhou/archive/2011/05/30/jquery-source-3.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/fjzhou/archive/2011/05/30/jquery-source-3.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/fjzhou/archive/2011/05/27/jquery-source-2.html</id><title type="text">jQuery 源码分析笔记(2)</title><summary type="text">变量列表在初始化jQuery对象的代码开始之前声明了一大堆变量。主要包括：全局变量的备份；处理字符串用的正则表达式；检测浏览器的正则表达式；对核心函数的引用备份。这里略过大部分，只说两种：全局变量和浏览器检测。_jQuery=window.jQuery;_$=window.$;这两个变量是jQuery唯一使用的两个全局变量。在jQuery.noConflict()函数中，会把这两个变量恢复回去。对于浏览器检测，jQuery使用的是检查UserAgent，而没有使用特性检测。rwebkit=/(webkit)[\/]([\w.]+)/,ropera=/(opear)(?:.*version)?[</summary><published>2011-05-27T07:33:00Z</published><updated>2011-05-27T07:33:00Z</updated><author><name>FJ. Zhou</name><uri>http://www.cnblogs.com/fjzhou/</uri></author><link rel="alternate" href="http://www.cnblogs.com/fjzhou/archive/2011/05/27/jquery-source-2.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/fjzhou/archive/2011/05/27/jquery-source-2.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/fjzhou/archive/2011/05/25/jquery-source-1.html</id><title type="text">jQuery 源码分析笔记(1)</title><summary type="text">简介jQuery最新版本1.6.1的时间戳2011年5月12日。开发未压缩版本229KB，共8937行代码。jQuery的宗旨是WriteLess,DoMore。它对JavaScript的开发风格侵入性不如YUI那么强，当然也不如Dojo和YUI如此庞大。它极大的简化了JavaScript的日常开发工作，主要是DOM元素的操作（从名字Query就可以看出）。另外一个主要工作就是每个前端开发者都需要面对的浏览器兼容性。jQuery兼容所有主流浏览器的大部分版本，从万恶的IE6开始直到Firefox，Chrome等现代浏览器。除了居于核心的一小部分代码之外，剩下的jQuery都是松散的函数，扩展性</summary><published>2011-05-25T06:18:00Z</published><updated>2011-05-25T06:18:00Z</updated><author><name>FJ. Zhou</name><uri>http://www.cnblogs.com/fjzhou/</uri></author><link rel="alternate" href="http://www.cnblogs.com/fjzhou/archive/2011/05/25/jquery-source-1.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/fjzhou/archive/2011/05/25/jquery-source-1.html"/><content type="html"/></entry></feed>
