jQuery学习笔记之总体架构
2023-06-13 09:15:27 时间
先来看代码:
(function(window,undefined){
//构建jQuery对象
vardocument=window.document,
navigator=window.navigator,
location=window.location;
varjQuery=(function(){
varjQuery=function(selector,context){
returnnewjQuery.fn.init(selector,context,rootjQuery);
},
_jQuery=window.jQuery;
//............................
//............................
returnjQuery;//981行
})();
//工具方法:Utilities;我在jQuery源码中没有发现是哪一块,如果有发现的.可以告诉我一下
//回调函数列表Callbacks
//异步队列Deferred
//浏览器功能测试Support
//数据缓存 Cache
//属性操作 Attributes
//队列Queue
//事件系统Event
//选择器Sizzle
//Dom遍历Traversing
//Dom操作Manipulation
//样式操作CSS
//异步请求Ajax
//动画Effects
//坐标Offset.尺寸Dimensions
window.jQuery=window.$=jQuery;
})(window);
1.这个就是jQuery源码的结构了.个人觉得还是相当的清晰和有条理的.
2.jQuery的整个最外层就是一个自调用的匿名函数,这样就可以创建一个闭包.该闭包中的各种变量,函数就不会和闭包外的变量和函数发生影响,确保了jQuery的独立性,安全性.
3最后一句代码:window.jQuery=window.$=jQuery;则是定义了一个全局变量jQuery和$.并且吧私有变量jQuery的引用赋给了这个全局变量.
4.将最大的对象window当做实参传递到函数中,使得window变成了局部变量,可以大大的缩短查找window的查找时间,同样节省资源.
5,第二个参数undefined,是一个形参,在实际执行的时候,没有获得参数赋值,那么系统就会给他自动赋值成undefined.这样在jQuery的闭包中确保了undefined值的真时性,因为undefined在jQuery的外面有可能被篡改掉.尽管这个篡改的结果,各种浏览器不一样.
相关文章
- js原生、jquery单选框radio总结(获取值、设置默认选中值、样式)
- jquery选择器用法_jQuery属性选择器
- jquery闭包详解编程语言
- 闪烁提示的jQuery代码让新消息在网页标题详解编程语言
- jquery可排列的表实现代码
- JQuery插件模板制作jquery插件的朋友可以参考下
- 基于jquery的超简单上下翻
- Jquery从头学起第四讲jquery入门教程
- jquery下动态显示jqGrid以及jqGrid的属性设置容易出现问题的解决方法
- Jquery知识点三jquery表单对象操作
- jQuery源码分析笔记(3)Deferred机制
- Jquery的扩展方法总结
- jQuery源码分析-01总体架构分析
- jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
- 使用jQuery清空file文件域的解决方案
- jquery实现漂浮在网页右侧的qq在线客服插件示例
- jquery选择器使用详解
- PHP+jQuery注册模块开发详解
- jquery的总体架构分析及实现示例详解
- Angularjs编写KindEditor,UEidtor,jQuery指令
- JavaScript用JQuery呼叫Server端方法示例代码