【jQuery+ajax的资源回收处理机制分析】教程文章相关的互联网学习教程文章

jQuery选择器的工作原理和优化分析_jquery

每次申明一个jQuery对象的时候,返回的是jQuery.prototype.init 对象,很多人就会不明白,init明明是jQuery.fn的方法啊,实际上这里不是方法,而是init的构造函数,因为js的prototype对象可 以实现继承,加上js的对象只是引用不会是拷贝,new jQuery,new jQuery.fn和new jQuery.fn.init的子对象是一样的,只是有没有执行到init的不同,这里就不讲原因了,等下一篇再讲为什么会是这样。 当我们使用选择器的时候$(selector,content),...

jQuery源码分析笔记(2)变量列表_jquery

_jQuery = window.jQuery; _$ = window.$; 这两个变量是jQuery唯一使用的两个全局变量。在jQuery.noConflict()函数中,会把这两个变量恢复回去。 对于浏览器检测,jQuery使用的是检查UserAgent,而没有使用特性检测。 rwebkit = /(webkit)[ \/]([\w.]+)/, ropera = /(opear)(?:.*version)?[ \/](\w+)/, rmsie = /(msie) ([\w.]+)/, rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/, 初始化函数init jQuery对JS对象的处理比较绕,而最终...

jQuery源码分析笔记(5)jQuery.support_jquery

其中jQuery.browser已经提供了根据UserAgent检测的浏览器信息。而jQuery.support 使用特性检测来检查浏览器的功能以及Bug。 和文档一样,首先说明一下,这个模块是很底层的代码,基本不需要在日常开发中使用,但是插件的开发者更需要。因为插件需要兼容各个浏览器。首先看一下 support模块提供了哪些浏览器特性的检测,以下结果是在Chrome 13 Dev下看到的结果。根据浏览器的不同,这里的成员可能会有变化。(PS:再次吐槽IE,大部分...

jQuery源码分析笔记(6)jQuery.data_jquery【图】

data部分的代码从1381行开始。最开始的几行关键代码: 代码如下: jQuery.extend({ // 存储数据的地方,关键实现核心 cache: { }, // 分配ID用的seed uuid: 0, // 为了区别不同的jQuery实例存储的数据,使用前缀+jQuery版本号+随机数作为Key expando: "jQuery" + (jQuery.fn.jquery + Math.random()).replace(/\D/g, ""), // 以下元素没有Data:embed和applet(这玩意还活着么),除了Flash之外的object。 noData: { "embed": true...

jQuery源码分析笔记(4)Ready函数_jquery

这个功能在 jQuery的文档中提到了三种等价的形式: 代码如下: // 定义在jQuery.fn.ready $(document).ready(handler); // 和上一个是同一个,不推荐 $().ready(handler); // 单独在jQuery对象中处理 $(handler); // 以上这个形式的定义: if(jQuery.isFunction(selector) { return rootjQuery.ready(selector); } 因此实际上都归结与一个形式:jQuery.fn.ready(fn)。定义如下: 代码如下: ready: function(fn) { // 绑定事件到D...

jQuery源码分析笔记(3)Deferred机制_jquery

Deferred把回调函数注册到一个队列中,统一管理,并且可以同步或者异步地调用这些函数。jQuery.Deferred()用来构造一个Deferred对象。该对象有状态值,共有三种: Rejected, Resolved和初始状态。其中Resolved表示该操作成功完成了,而Rejected 则表示出现了错误,调用失败。Deferred对象的主要成员如下: done(callback): 注册一个callback函数,当状态为resolved时被调用。 * fail(callback): 注册一个callback函数,当状态为reje...

jQuery中的.bind()、.live()和.delegate()之间区别分析_jquery【图】

DOM树首先,可视化一个HMTL文档的DOM树是很有帮助的。一个简单的HTML页面看起来就像是这个样子:事件冒泡(又称事件传播)当我们点击一个链接时,其触发了链接元素的单击事件,该事件则引发任何我们已绑定到该元素的单击事件上的函数的执行。 代码如下: $(a).bind(click,function(){alert(that tickles!)}) 因此一个单击操作会触发alert函数的执行。click事件接着会向树的根方向传播,广播到父元素,然后接着是每个祖先元素,只要是...

jQuery源码分析笔记(7)Queue_jquery

每个Element可以拥有多个队列,但是基本上都只使用到一个,即默认的fn队列。队列允许一系列函数被异步地调用而不会阻塞程序。例如:$("#foo").slideUp().fadeIn();其实这个就是我们大家常用的链式调用,实际上这是一个Queue。所以队列和Deferred地位类似,是一个内部使用的基础设施。当slideUp运行时,fadeIn被放到fx队列中,当slideUp完成后,从队列中被取出运行。queue函数允许直接操作这个链式调用的行为。同时,queue可以指定队...

jQuery(1.6.3)中css方法对浮动的实现缺陷分析_jquery【图】

jQuery的css方法统一了两种写法,直接使用float属性即可,如下css方法中传参数“float”即可以设置也可以获取元素的float。 代码如下: float div $('#d1').css('float', 'right'); var str = $('#d1').css('float'); alert(str); 但jQuery非要自作聪明,加上对cssFloat和styleFloat的支持,见API文档,比如获取元素的float属性时,以下是等价的。1 $('div.left').css('float'); 2 $('div.left').css('cssFloat'); 3 $('div.lef...

jQuery源码分析-04选择器-Sizzle-工作原理分析_jquery

作者:nuysoft/高云 QQ:47214707 EMail:nuysoft@gmail.com 声明:本文为原创文章,如需转载,请注明来源并保留原文链接。 在分析Sizzle源码之前,先整理一下选择器的工作原理 先明确一些选择器中用到的名词,后边阅读时不会有歧义: 选择器表达式: "div > p" 块表达式: "div" "p" 并列选择器表达式: "div, p" 块分割器: Sizzle中的chunker正则,对选择器表达式从左向右分割出一个个块表达式 查找器: 对块表达式进行查找,...

jQuery源码分析-05异步队列Deferred使用介绍_jquery

5. 异步队列 Deferred 5.1 概述 异步队列是一个链式对象,增强对回调函数的管理和调用,用于处理异步任务。 异步队列有三种状态:初始化(unresolved),成功(resolved),失败(rejected)。 执行哪些回调函数依赖于状态。 状态变为成功(resolved)或失败(rejected)后,将保持不变。 回调函数的绑定可以是同步,也可以是异步的,即可以在任何时候绑定。 (本节中的 绑定 注册 增加 具有相同的含义) 5.2 关键方法 先看看jQuer...

jQuery源码分析-01总体架构分析_jquery

1. 总体架构 1.1 自调用匿名函数 self-invoking anonymous function 打开jQuery源码,首先你会看到这样的代码结构: 代码如下: (function( window, undefined ) { // jquery code })(window); 1. 这是一个自调用匿名函数。什么东东呢?在第一个括号内,创建一个匿名函数;第二个括号,立即执行 2. 为什么要创建这样一个“自调用匿名函数”呢? 通过定义一个匿名函数,创建了一个“私有”的命名空间,该命名空间的变量和方法,不会...

jQuery源码分析-02正则表达式RegExp常用正则表达式_jquery

作者:nuysoft/JS攻城师/高云 QQ:47214707 EMail:nuysoft@gmail.com 声明:本文为原创文章,如需转载,请注明来源并保留原文链接。 后文预告:jQuery中的正则表达式分析 2.4 常用正则表达式 在网上找到一篇广为流传的文章《常用正则表达式》,逐一分析,不足地方进行补充和纠正。 代码如下: 常用的数字正则(严格匹配) 正则 含义 ^[1-9]\d*$ 匹配正整数 ^-[1-9]\d*$ 匹配负整数 ^-?[1-9]\d*$ 匹配整数 ^[1-9]\d*|0$ 匹配非负...

jQuery源码分析-03构造jQuery对象-工具函数_jquery

作者:nuysoft/高云 QQ:47214707 EMail:nuysoft@gmail.com 声明:本文为原创文章,如需转载,请注明来源并保留原文链接。 读读写写,不对的地方请告诉我,多多交流共同进步,本章的的PDF等本章写完了发布。 jQuery源码分析系列的目录请查看 http://nuysoft.iteye.com/blog/1177451,想系统的好好写写,目前还是从我感兴趣的部分开始,如果大家有对哪个模块感兴趣的,建议优先分析的,可以告诉我,一起学习。 3.4 其他静态工具函...

jQuery源码分析-03构造jQuery对象-源码结构和核心函数_jquery

作者:nuysoft/高云 QQ:47214707 EMail:nuysoft@gmail.com 毕竟是边读边写,不对的地方请告诉我,多多交流共同进步。本章还未写完,完了会提交PDF。 前记: 想系统的好好写写,但是会先从感兴趣的部分开始。 近期有读者把PDF传到了百度文库上,首先感谢转载和传播,但是据为已有并设置了挺高的财富值才能下载就不好了,以后我整理好了会传到文库上。请体谅一下。 3. 构造jQuery对象 3.1 源码结构 先看看总体结构,再做分解: ...