
jquery 实现原理
文章平均质量分 74
lihongxun945
膜拜大牛
展开
-
jquery 实现原理四:deferred对象
一,deferred的使用和基本原理具体的用法可以参见阮一峰的一篇日志:http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html简单的说,deferred对象就是一个异步回调队列。deferred对象最大的作用就是用在ajax中实现异步回调,在没有defe原创 2013-09-11 21:48:01 · 6358 阅读 · 0 评论 -
jquery 实现原理九:css
一,基本结构css模块,在fn上只提供了四个方法css,show,hide和toggle。可能有人会问为什么官方文档上还有innerHeight,scrollTop,removeClass之类的方法?其实这些方法不是在css模块中提供的,只是在api中把他们都放到了css中,innerHeight是在dimensions中提供的,hasClass是在attributes/classes中提供的原创 2013-10-31 12:36:14 · 5172 阅读 · 0 评论 -
jquery 实现原理三:sizzle
一,sizzle的基本原理sizzle是jquery选择器引擎模块的名称,早在1.3版本就独立出来,并且被许多其他的js库当做默认的选择器引擎。首先,sizzle最大的特点就是快。那么为什么sizzle当时其他引擎都快了,因为当时其他的引擎都是按照从左到右逐个匹配的方式来进行查找的,而sizzle刚好相反是从右到左找的。举个简单的例子 “.a .b .c”来说明为什么sizzle比原创 2013-09-07 16:32:37 · 3020 阅读 · 1 评论 -
jquery 实现原理八:DOM操作-manipulate
jquery dom操作有很重要的一点就是对数组的操作,因为jquery的很多操作都是对当前选中的所有元素都起作用的。所以很自然的这个操作会被封装起来。有两个重要函数会被频繁调用来进行dom操作,分别是domManip和access。access功能比较简单,可以认为就是一个数组的foreach操作,只是做了一些小的改进:对value回调函数的支持和对链式操作的支持。domMa原创 2013-10-28 21:25:37 · 3001 阅读 · 0 评论 -
jquery 实现原理七:DOM遍历-tranversing
一,pushStack在tranversing之前不得不提一下pushStack函数,这个函数在dom操作中多次被用到过。这个函数实现非常简单: // Take an array of elements and push it onto the stack // (returning the new matched element set) pushStack: fu原创 2013-10-22 16:16:10 · 2617 阅读 · 0 评论 -
jquery 实现原理 六:event
一,基本原理1.1 数据缓存 data在事件之前是应该先讲解下data的实现的,因为在event的实现中,需要用到data,用来存储用户在element上注册的事件回调函数,这个data的实现比较简单,所以在这里简单说一下。$.data可以在一个元素上存储数据,比如$('xxx').data("a", 1)。实现原理很简单,先初始化一个cache对象,然后在元素上添加一个唯一的id属性原创 2013-10-19 16:44:58 · 5460 阅读 · 2 评论 -
jquery实现原理:前言
jquery源码虽然已经被很多人研究过了,但是还是忍不住自己要写一个,全当是自己的学习笔记了。本文是基于最新的 v2.0.4版本,项目地址:git@github.com:jquery/jquery.git。基于源码中的重要模块逐个分析,为了方便起见是分析src/目录下按模块划分的源代码,而不是gist目录下被合并的代码。争取每周更新一篇,用两个月时间完成主要模块的解析。原创 2013-08-25 16:52:26 · 2502 阅读 · 1 评论 -
jquery 实现原理二:core.js
这个文件是jquery的核心文件,核心之处在于它定义了如果构造jquery对象,以及如何通过extend来拓展jquery对象(或者叫添加插件),还有一些非常基本的工具方法。下面是重要代码分析:一 jQuery对象构造函数jQuery = function( selector, context ) { // The jQuery object is act原创 2013-08-25 16:54:04 · 6605 阅读 · 0 评论 -
jquery 实现原理一:文件目录结构概览
源码结构:jquery 源码是符合AMD规范的,使用requirejs进行合并压缩,还用了bower来管理第三方依赖。src/:源码全部在src目录下,全部是AMD规范的,入口文件是src/jquery.js,这个文件声明了全部的依赖,打包压缩就是从这个文件开始的。看一下jquery.js文件的依赖声明就能明白jquery的大致模块划分。test/: 单元测试,非常非常详细的单元测原创 2013-08-25 16:53:24 · 7049 阅读 · 0 评论 -
jquery 实现原理五:ajax
ajax模块的结构:一, ajax 实现包括两个部分1 基本模块ajax,一个ajax.js定义了异步请求的基本结构,主要提供了两个重要的配置默认配置 ajaxSettings,并可拓展自定义的配置构造 ajaxPrefilters 和 ajaxTransport,这两个都是key-value对象,其中key是dataType,value是对应的处理函数。 ajaxPr原创 2013-09-25 21:09:39 · 9296 阅读 · 0 评论 -
随笔:用心良苦 - 理解 jQuery 的构造函数
最近有人问 jQuery 的构造函数为什么写的那么奇怪,不好理解。其实我刚开始看 jQuery 源码的时候也有这个疑问,下面是 jQuery 构造函数的关键代码:jQuery = function( selector, context ) { return new jQuery.fn.init( selector, context );},jQuery.fn = jQuery.protot原创 2016-05-09 11:00:06 · 4354 阅读 · 1 评论