- 学习对象:jquery-2.0.3.js
- 学习方式:视频教程+本地调试
- 学习目标:jquery源码,累计代码行数8829行,功能模块分割如下
(21,94)行 定义了一些变量和函数,如 jQuery = function(){};
(96,283)行 给JQ对象添加方法和属性;
(285,347)行 extend:JQ的继承方法;
(349,817)行 jQuery.extend():扩展一些工具方法;
(877,2856)行 Sizzle:复杂选择器的实现(Sizzle可以单独使用到项目中);
(2880,3042)行 Callbacks:回调对象,作用:对函数的统一管理;
(3043,3183)行 Deferred:延迟对象,作用:对异步的统一管理(可以实现先执行异步方法再执行非异步方法,如果没有延迟对象,可能会出现非异步方法先执行异步方法后执行);
(3184,3295)行 support:功能检查,作用:判断浏览器(传统的判断浏览器版本是通过浏览器版本进行判断,但浏览器更新速度太快,为了更方便,采用判断不同版本的浏览器的功能)
(3308,3652)行 data():数据缓存,作用:可以将数据缓存到标签对象上,防止内存溢出,它和attr()存在本质区别是,attr()直接将属性数据加到标签对象上,data()只是缓存起来,并不会实际存到标签对象上。代码如下:
<script>
$(document).ready(function(){
$("#p1").data('name','aaa');
alert($("#p1").data("name"));
});
</script>
<p id="p1">测试data方法</p>
结果将弹出"aaa"。p标签上不存在name的属性。
(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)行 JQ提供的对外访问接口:window.jQuery = window.$=jQuery;