码迷,mamicode.com
首页 > Web开发 > 详细

jquery源码之通篇概要

时间:2017-12-02 23:19:04      阅读:229      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!