jQuery学习笔记-1
来源:互联网 发布:土耳其历史 知乎 编辑:程序博客网 时间:2024/05/22 14:15
p.s. 这是我的第一篇文章,是笔记性质的,就是说是边看书边敲的,书名是《jQuery技术内幕》作者高云,写这个文章是为了帮自己更好的理解jQuery,并不是教程性质的,当然可以当教程看,都是自己理解后才敲上去的。
第一章
1.1设计理念以用为本
1. 兼容ie6.0+、chrome、firefox3.6+、safari5.0+、opera
2. 链式语法、多功能接口
3. 高效的css选择器(可扩展)
4. 便捷的插件扩展机制,丰富的插件
1.2总体架构
</pre><pre name="code" class="html"> //jquery-1.7.1.js (function( window, undefined ) {//line 16 //构造jQuery对象 var jQuery = function( selector, context ) {return new jQuery.fn.init( selector, context, rootjQuery );//line 27}//line 28 return jQuery; //line 955 }) ();//line 957 //工具方法 Utilities //回调函数列表 Callbacks Object //异步队列 Deferred Object //浏览器功能测试 Support //数据缓存 Data//队列 Queue//属性操作 Attributes//事件系统 Events//选择器 Sizzle//DOM遍历 Traversing//DOM操作 Manipulation//样式操作 CSS//异步请求 Ajax//动画 Effects//坐标Offset、尺寸 Dimensionswindow.jQuery = window.$ = jQuery;}) (window);//line 9266三大模块:入口模块、底层支持模块、功能模块
1. 入口模块
1. 构造jQuery对象jQuery()
2. 底层支持模块
1. 工具模块Utilities:提供一些编程辅助方法,用于简化jQuery对象、DOM元素、数组、对象、字符串等操作
2. 回调函数列表Callbacks Objects:增强对回调函数的管理,支持添加、移除、触发、锁定、禁用回调函数等功能
3. 异步队列Deferred Objects:解耦异步任务和回调函数,它在回调函数列表的基础上增加了状态,并提供了多个回调函数列表,支持传播任意同步或异步的回调函数的成功或失败状态
4. 数据缓存Data:为DOM和Javascript对象附加任意类型的数据
5. 队列Queue:用于管理一组函数,支持出/入队操作,并确保函数按顺序执行(基于数据缓存)
3. 功能模块
1. 属性操作Attributes:用于对HTML属性和DOM属性进行读取、设置和移除操作
2. 事件系统Events:提供了统一的事件绑定、响应、手动触发和移除,它并没有将事件直接绑定在DOM元素上,而是基于数据缓存模块来管理事件
3. 异步请求Ajax:允许从服务器上加载数据,而不用刷新页面,基于异步队列来管理和触发回调函数
4. 动画Effects:用于向网页中添加动画效果,基于队列来管理和触发回调函数
5. DOM遍历Traversing:在DOM树中遍历父元素、子元素和兄弟元素
6. DOM操作Manipulation:插入、移除、复制和替换DOM元素
7. 样式操作CSS:获取计算样式或设置内联样式
1. 坐标Offset:读取或设置DOM元素的文档坐标
2. 尺寸Dimensions:获取DOM元素的高度和宽度
1.3自调用匿名函数
jQuery的所有代码都包裹在了一个立即执行的匿名函数表达式中,称为自调用匿名函数1. 为什么创建:创建了一个特殊的函数作用域,该作用域中的代码不会和已有的同名函数、方法和变量以及第三方库冲突
2. 为什么要为自调用匿名函数设置参数windows,并传入window对象:通过传入window对象,可以使window对象变为局部变量(即把函数参数作为局部变量使用),这样当在访问jQuery代码模块中访问window对象时,不需将作用域回退到顶层作用域,从而更快的访问window对象;另外可以在压缩代码时进行优化
3. 为什么要为自调用匿名函数设置参数undefined:特殊值undefined是window对象的一个属性,通过把参数undefined作为局部变量使用,但是又不传入任何值,可以缩短查找undefined时的作用域链,并且在压缩代码时可优化;通过这种方式可以确保参数undefined的值是undefined(因为undefined有可能被重写为新的值)
4. 自调用匿名函数最后的分号:在JavaScript中,如果语句分别放置在不同的行中,则分号是可选的,但是对于自调用匿名函数来说,在之前或之后省略分号都可能会引起语法错误
0 0
- jQuery学习笔记1
- jquery学习笔记1
- JQuery学习笔记(1)
- Jquery学习笔记1
- jQuery---学习笔记1
- jquery学习笔记-1
- jQuery学习笔记1
- jQuery学习笔记(1)
- jquery-学习笔记1
- jQuery学习笔记1
- jQuery学习笔记(1)
- jQuery学习笔记-1
- jquery 学习笔记1
- jQuery学习笔记1
- JQuery学习笔记-1
- jquery 学习笔记1
- jQuery学习笔记1
- jquery学习笔记1
- NSBundle介绍
- POJ 2455-Secret Milking Machine(网络流_最大流+二分查找)
- 通过新浪IP服务器获得的当前客户端IP地址对应的国家、省份或直辖市、城市信息
- 物聯網WiFi
- Content Provider的启动过程源代码分析
- jQuery学习笔记-1
- MAT 内存使用检测分析工具
- 杭电第一周1004 绝对值排序
- android打包时出现Conversion to Dalvik format failed with error 1错误
- 由于设计页面需要,要把两个并排显示的 div 实现一样高的效果, n 行 n 列布局,每列高度(事先并不能确定哪列的高度)相同,每个设计师追求的目标。方法有以下几种: 1 JS 实现(判断 2 个 d
- LINUX 自定义USB Gadget HID 设备
- Android 代码混淆、第三方平台加固加密、渠道分发 完整教程(图文)
- [kuangbin带你飞]专题九 连通图 题解报告
- 9i dump导入 ORACLE 11g not found in export file