jquery2.1.4 源码分析

计划:看完这两篇教程,因为API已经很熟悉了。
jQuery源码解析(架构与依赖模块)[http://www.imooc.com/learn/172]

理解架构

细节

$( "input:checked" )
五大块:选择器,DOM操作,事件,AJAX,动画
13个模块:

立即调用函数表达式

;(function(window,undefined) {
    //undefined
})(window)

这里的undefined不是js中的保留字,只是普普通通的用户名,可以允许用户对其赋值

匿名函数

function ajQuery1(){
   show('ajQuery1')
}
// 会提升,匿名函数

var ajQuery2 = function(){
   show('ajQuery2')
}
//不会提升,函数表达式

;(function(){
    show('ajQuery3')
})()
//匿名函数调用

var ajQuery4 = function(){
    show('ajQuery4') 
}();
//函数表达式调用    

类数组对象

能看明白,大概意思也能理解,只是不知道实际中该如何使用

dom文档加载的步骤

(1) 解析HTML结构。
(2) 加载外部脚本和样式表文件。
(3) 解析并执行脚本代码。
(4) 构造HTML DOM模型。//ready
(5) 加载图片等外部文件。
(6) 页面加载完毕。//load

看不懂

noconflict

只要把那两个js引入就好,不用在意顺序。

核心模块

对象的构造

是之前看过的,很好理解

分离构造器

new:原型与this连接起来

2-1 2-2 2-3 都看不懂

方法链式调用

核心是return当前的实例对象this

插件接口

插件分两种
1、静态方法:$.method,挂在$的命名空间下,jquery.extend调用的时候上下文指向的是jquery的构造器
2、实例方法:$('').method,挂在jquery的原型下,jquery.fn.extend调用的时候上下文指向的是jquery构造器的实例对象

看不懂

回溯处理

jquery对象栈

1、end():回到前一个jquery对象

return this.prevObject || this.constructor(null);

2、andSelf addBack:在栈中回溯一个位置,把两个位置上的元素集组合起来,并把这个新的、组合之后的元素集推入栈的上方。

不想看了,觉得对现在没用

jQuery源码解析(DOM与核心模块)[http://www.imooc.com/learn/222]

你可能感兴趣的:(jquery2.1.4 源码分析)