计划:看完这两篇教程,因为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]
网友评论