Jquery总体架构
来源:互联网 发布:ubuntu打开文件夹命令 编辑:程序博客网 时间:2024/06/16 22:28
学习jquery源码
1.jQuery是自调用匿名函数
(function(global, factory ) {})(typeof window !== "undefined" ? window : this, function(){});
通过定义一个匿名函数,创建了一个“私有”的命名空间,该命名空间的变量和方法,不会破坏全局的命名空间。这点非常有用也是一个JS框架必须支持的功能,jQuery被应用在成千上万的JavaScript程序中,必须确保jQuery创建的变量不能和导入他的程序所使用的变量发生冲突。
2.为什么要传入window呢?
通过传入window变量,使得window由全局变量变为局部变量,当在jQuery代码块中访问window时,不需要将作用域链回退到顶层作用域,这样可以更快的访问window;这还不是关键所在,更重要的是,将window作为参数传入,可以在压缩代码时进行优化
,看看jquery-1.6.1.min.js:
(function(a,b){})(window); // window 被优化为 a
3.为什么要在在参数列表中增加undefined呢?
在 自调用匿名函数 的作用域内,确保undefined是真的未定义。因为undefined能够被重写,赋予新的值。
undefined = "now it's defined";
alert( undefined );
浏览器测试结果:
浏览器
测试结果
结论
ie
now it's defined
可以改变
firefox
undefined
不能改变
chrome
now it's defined
可以改变
opera
now it's defined
可以改变
4.总体架构
(function( window, undefined ) { // 构造jQuery对象var jQuery = function( selector, context ) { return new jQuery.fn.init( selector, context, rootjQuery ); }// 工具函数 Utilities// 异步队列 Deferred// 浏览器测试 Support// 数据缓存 Data// 队列 queue// 属性操作 Attribute// 事件处理 Event// 选择器 Sizzle// DOM遍历// DOM操作// CSS操作// 异步请求 Ajax// 动画 FX// 坐标和大小 window.jQuery = window.$ = jQuery;})(window);
0 0
- jquery总体架构
- Jquery总体架构
- jQuery总体架构的理解
- jquery源码的总体架构
- jQuery源码分析-01总体架构
- JQuery框架总体架构(转nuysoft)
- jQuery源码分析-01总体架构
- jQuery源码学习之总体架构
- jQuery源码学习笔记:总体架构
- jQuery源码分析-01总体架构
- jQuery源码分析-01总体架构
- jquery源码分析之总体架构
- 总体架构
- jQuery源码分析(版本1.6.1)___总体架构
- jquery的总体架构分析及实现示例详解
- JQuery3.1.1源码解读(一)【jQuery总体架构】
- 软件总体架构
- lucene的总体架构
- 欢迎使用CSDN-markdown编辑器
- 1039. 到底买不买(20)
- HDU 1020 Encoding
- POJ 3468 A Simple Problem with Integers
- 1040. 有几个PAT(25)
- Jquery总体架构
- C++的move语义真的没那么可怕啦
- 1041. 考试座位号(15)
- linux 命令大全,不知道的朋友,过来看吧
- 1042. 字符统计(20)
- 全栈工程师之路-中级篇之小程序开发-第一章第二节注册小程序和开发工具讲解
- POJ 1144 Network 笔记
- 1043. 输出PATest(20)
- 将博客搬至CSDN