标签:query add 关于 func sizzle fun 函数 混淆 其他
我要学习的是jquery 2.0.3 版本的源码。首先说明为什么要选择这个版本,理由很简单,jquery 2.x 之后就不支持ie6,7,8了,很多hack方法都会没有.
这边文章记录的是jquery源码通篇概要,请直接往下看:
(function(window, undefined) {
(21,94) 定义了一些变量和函数 jQuery = function() {};
(96,283) 给JQ对象,添加一些方法和属性
(285,347) extend :jq的继承方法
(349,817) jQuery.extend() :拓展一些工具方法
(877,2856) Sizzle :复杂选择器的实现
(2880,3042) Callback :回调对象 :对函数的统一管理
(3043,3183) Deferred :延迟对象 :对异步的统一管理
(3184,3295) support :功能检测
(3308,3652) data() :数据缓存
(3653,3797) queue() :队列管理
(3803,4299) attr() prop() val() addClass()等 :对元素属性的操作
(4300,5128) on() trigger() :事件操作的相关方法
(5140,6057) DOM操作 :添加 删除 获取 包装 DOM筛选
(6058,6620) css() :样式操作
(6621,7854) 提交的数据和ajax() :ajax() load() getJson()
(7855,8584) animate() :运动的方法
(8585,8792) offset() :位置和尺寸的方法
(8804,8821) JQ支持模块化的模式
(8826) window.jQuery = window.$ = jQuery;
})(window);
【备注】
1、为什么jq选择把全部代码封装在一个匿名函数内?
第一:匿名函数自执行创建函数作用域与外界有很好的隔离作用,与其他代码互不影响;
第二:关于这个匿名函数接收的两个参数:window 和 undefined
window作为参数传递的原因:作为参数传递window是匿名函数使用window时查找最快,还有对于jq源码的编译混淆;
undefined作为参数传递的原因:初始化undefined的值,防止外界对undefined这个属性修改,ie低版本允许对undefined进行赋值;
jquery源码之通篇概要
标签:query add 关于 func sizzle fun 函数 混淆 其他
原文地址:http://www.cnblogs.com/shihangbo/p/7955766.html