[No.2] jQuery源码解析—搭建框架(2)

接着,我们往后来看。从877-2856行,

都是完成一个功能,就是Sizzle

Sizzle功能就是让一个复杂选择器的实现。

它是jQuery中比较难的一部分,

实现也比较复杂,它也是独立的。


然后,从2880-3042行,

CallbacksjQuery中的回调对象,

它实现的功能主要就是通过

回调对象去管理函数,

(对函数的统一管理)。

为什么要统一管理?

因为在做开发的时候,

如果说函数特别多的时候,

我们管理起来就比较麻烦,

若是有一套很好的方式可以统一管理的话,

其实,操作起来就比较容易一些。

我们简单地来看看jQuery中是如何做的,

这就把它们统一的放到了一起,

除了这种添加方式,

比如说删除,

还有很多方法,到时具体说,

所以说这对函数的管理还是很有帮助。


接着,从3043-3183行,

它们实现的是Deferred

延迟对象作用就是对异步的统一管理。

JS中很多都是异步的,

比如:定时器,Ajax,等待DOM加载...

所以说在这些异步当中没有一个统一管理,

就会异步写得越多,越复杂,不容易管理。

但是,按照我们正常的逻辑思维,

应该是先写的先执行,

后写的后执行,

用延迟对象是这样来书写的。

jQuery中这样去写,

就会先弹出1,再弹出2.

从而,我们可以发现在jQuery中,

延迟对象的做法是用回调去做的,

先去存,当上面那句话触发的时候,

然后,再去调存的这个函数,

所以说延迟的原理很简单。


接下来,我们往后来看,

从3184-3295行,它实现了support

这叫做功能检测的方法。

什么是功能检测呢?

这个就是在我们之前去做浏览器判断时,

判断是什么浏览器,

执行什么不同的操作,

需要得到浏览器的信息,

判断它到底是哪个版本的。

这种对之前的开发都是可以的,

但是,现在随着网络的发展,

其实,浏览器更新速度是非常之快的,

版本变化得也是非常快,

所以说光是用来判断浏览器版本的话,

其实,对我们维护起来是非常不利的,

但是我们要是用来判断功能去判断浏览器,

这就比较靠谱了,

因为往后升级的浏览器它的功能会被保留的,

所以说这个功能检测是对浏览器发展是非常有用的。

以后,我们就不用判断浏览器了,

可以通过功能检测判断不同浏览器的版本。

这里,我找了一个叫checkOn功能检测讲讲。

其实在我们写的一个input的是复选或者单选框时,

大部分浏览器默认的value的是on

然而,在老版本的WebKit下的浏览器,

它们默认的是空,

所以说我们要区分新老WebKit浏览器,

是不是就可以同过这个方法去判断了,

这一块儿,还有很多功能检测,

咱们到时候具体讲它的时候再给大家说,

先知道一下它是干嘛的,就可以了。




回看上一集:

原文中此处为链接,暂不支持采集

别走开,下集更精彩。

喜欢文章的小伙伴,

希望大家多多转发分享,

你的分享就是我的动力!

喜欢 分享 or
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容