今天看jQuery源码CSS部分,里面用到了currentStyle和getComputedStyle来获取外部样式。因为elem.style.width只能获取elem的style属性里的样式,无法获取外部css文件中定义的样式,所以针对IE8以下以及其他浏览器,需要以这两种不同的方式获取外部cs...
分类:
其他好文 时间:
2015-11-12 13:15:07
阅读次数:
239
再来复习下整体架构:jQuery源码分析(基于 jQuery 1.11 版本,共计8829行源码)(21,94) 定义了一些变量和函数jQuery=function(){}(96,280) 给jQuery添加一些方法和属性,jQuery.fn=jQuery.prototype(2...
分类:
Web程序 时间:
2015-11-12 01:18:04
阅读次数:
364
这一篇主要总结一下jQuery这个js在引入的时候做的一些初始化工作第一句window.undefined=window.undefined;是为了兼容低版本的IE而写的因为在低版本的IE中undefined不是window对象下的属性因此window.undefined就是undefined根据=...
分类:
Web程序 时间:
2015-11-10 21:03:42
阅读次数:
292
Sizzle引擎的主题部分已经分析完毕了,今天为这部分划一个句号。a. Sizzle解析流程总结 是时候该做一个总结了。Sizzle解析的流程已经一目了然了。 1.选择器进入Sizzle( selector, context, results, seed )函数,先对选择器不符合要求的(比如...
分类:
Web程序 时间:
2015-11-10 19:22:39
阅读次数:
288
由于jQuery的源码比较复杂,所以我选择从jQuery1.0.0版本开始学习,逐步深入。而且本系列文章包含大量的个人观点,纯属本人学习的记录jQuery1.0.0只有1800行左右的代码,相对来讲看起来还是比较简单的首先,想说一下我对jQuery的理解jQuery其实就是一个很大的构造函数它为我们...
分类:
Web程序 时间:
2015-11-09 18:43:53
阅读次数:
246
我也看过很多Sizzle源码分析的博客,伪类分割器setMatcher介绍的比较少。但是本人认为这是一个比较重要的难点,我第一遍看源码的时候也忽略了。现在回来看第二遍,一定要把这个东东弄懂。 a. 伪类分割器setMatcher 伪类分隔器对伪类选择器进行分隔处理,返回处理后的最终匹配器。 ...
分类:
Web程序 时间:
2015-11-07 20:27:01
阅读次数:
251
这一节要分析的东东比较复杂,篇幅会比较大,也不知道我描述后能不能让人看明白。这部分的源码我第一次看的时候也比较吃力,现在重头看一遍,再分析一遍,看能否查缺补漏。 看这一部分的源码需要有一个完整的概念后去看才比较容易看懂,所以我们先把整个编译的原理阐述以后再进行解析。 还是以上次的那个CSS选...
分类:
Web程序 时间:
2015-11-06 20:47:57
阅读次数:
245
jQuery源码9600多行,而Sizzle引擎就独占近2000行,占了1/5。Sizzle引擎、jQuery事件机制、ajax是整个jQuery的核心,也是jQuery技术精华的体现。里面的有些策略确实很值得学习,先膜拜之,然后细细学习。 在学习Sizzle引擎之前我们先准备一点知识,和先了...
分类:
Web程序 时间:
2015-11-05 20:15:24
阅读次数:
365
在分析之前说一点题外话。ownerDocument和 documentElement的区别 ownerDocument是Node对象的一个属性,返回的是某个元素的根节点文档对象:即document对象;documentElement是Document对象的属性,返回的是文档根节点 对于HTML文.....
分类:
Web程序 时间:
2015-11-04 19:12:18
阅读次数:
186
1.选择器结构jQuery的选择器根据源码可以分为几块 init: function( selector, context, rootjQuery ) { … // HANDLE: $(""), $(null), $(undefined), $(false) ... // Ha...
分类:
Web程序 时间:
2015-11-04 11:23:34
阅读次数:
220