jquery框架概览(一)
参照jQuery 2.0.3版本(http://files.cnblogs.com/files/snoy/jquery-2.0.3.js")来进行的源码分析
从代码的最外层可以看到是一个IIFE即自执行匿名函数
(function(window, undefined) {
})(window)
从代码的21~94行定义了一些变量和函数
重点分析下面的代码 (1)
jQuery = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init( selector, context, rootjQuery );
},
代码的8826行的代码(2)
window.jQuery = window.$ = jQuery;
通过上面(2)代码就把上面(1)jQuery保存起来的函数暴露给window对象了,就可以通过jQuery或者$来访问(1)的函数了
这就是对外提供的接口
代码的96~281给jQuery对象添加一些方法和属性
jQuery.fn=jQuery.prototype={
};
代码的285~347是jQuery继承的一些方法
jQuery.extend = jQuery.fn.extend = function() {
}
代码的349~818是jQuery扩展的一些工具方法类似于静态方法比如说$.trim()
jQuery.extend();
代码的877~2856是Sizzle CSS Selector复杂选择器(http://sizzlejs.com/)
代码的2880~3042是jQuery回调对象作用是函数的统一管理
jQuery.Callbacks=function(){};
代码的3043~3183是延迟对象作用是异步的统一管理
jQuery.extend({
Deferred;function(){},
when:function(){}
});
代码的3184~3295是对浏览器功能的检测,而不是去判断浏览器类型
jQuery.support=(function(support){})({});
代码的3308~3652是对数据data的缓存
代码的3653~3797是对queue的管理
jQuery.extend();
jQuery.fn.extend();
代码的3803~4299是对元素属性的操作
代码的4300~5128是事件操作的相关方法
代码的5140~6057是和DOM有关的操作
代码的6058~6620是元素CSS样式的操作
代码的6621~7854是form表单提交的功能(ajax,cors,load,getJson,getScript。。。)
代码的7785~8584是animate运动的操作
代码的8585~8792是位置和尺寸的操作
代码的8504~8821是jQuery支持模块化的方式
代码的8504~8827是jQuery对外提供的暴露接口
最新文章
- 两个有序数组中查找第K大数
- Unity3D Shader入门指南(一)
- winform实现自动更新并动态调用form实现
- 根据http协议传送数据
- 用C++进行函数式编程
- 及格率 不谢 cast(cast (sum(case when res>;=60 then 1 else 0 end)*100/(count(1)*1.0) as float) as nvarchar)+'%' '及格率'
- drupal中使用jquery&;ajax
- 我的第一本docker书-阅读笔记
- C#中如何使用断点操作调试程序
- Android开发之Path类使用详解,自绘各种各样的图形!
- Masonry中的mas_makeConstraints方法
- vue-router 与 react-router 设计理念上的区别
- 【BZOJ】4361: isn
- 20145122 《Java程序设计》第十周学习总结
- 温习DL之一:梯度的概念
- ADS ARM 汇编和GNU ARM汇编
- jenkins 发送邮件失败
- C++11多线程教学
- nesC编程入门
- EMQ 学习---MQTT消息QoS
热门文章
- 出现UnboundLocalError: local variable 'a' referenced before assignment异常的情况与解决方法
- [ZJCTF 2019]NiZhuanSiWei
- 化 Bernoulli 方程为一阶线性微分方程
- 18. docker 容器部署 python-redis
- l1 和l2范数的真实意义
- 201403-2 窗口 Java
- www.wolframalpha.com
- 1.where子句的优化
- UML-SSD-定义
- Java之同步方法处理实现Runnable接口的线程安全问题