jQuery学习笔记之总体架构


Posted in Javascript onJune 03, 2014

先来看代码:

(function (window, undefined) {
            //构建jQuery对象
            var document = window.document,
                navigator = window.navigator,
                location = window.location;
            var jQuery = (function () {
                var jQuery = function (selector, context) {
                    return new jQuery.fn.init(selector, context, rootjQuery);
                },
                _jQuery = window.jQuery;
                //............................
                //............................                  
                return jQuery; //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的外面有可能被篡改掉.尽管这个篡改的结果,各种浏览器不一样.

Javascript 相关文章推荐
传智播客学习之java 反射
Nov 22 Javascript
通过Javascript将数据导出到外部Excel文档的函数代码
Jun 15 Javascript
javascript object array方法使用详解
Dec 03 Javascript
javascript采用数组实现tab菜单切换效果
Dec 12 Javascript
JS实现定时自动关闭DIV层提示框的方法
May 11 Javascript
跟我学习javascript的严格模式
Nov 16 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
Dec 15 Javascript
jquery获取下拉框中的循环值
Feb 08 Javascript
jQuery实现 上升、下降、删除、添加一行代码
Mar 06 Javascript
微信小程序云开发 生成带参小程序码流程
May 18 Javascript
利用百度echarts实现图表功能简单入门示例【附源码下载】
Jun 10 Javascript
jQuery实现消息弹出框效果
Dec 10 jQuery
jquery控制select的text/value值为选中状态
Jun 03 #Javascript
Javascript中浮点数相乘的一个解决方法
Jun 03 #Javascript
js下将阿拉伯数字每三位一逗号分隔(如:15000000转化为15,000,000)
Jun 02 #Javascript
js判断当前浏览器类型,判断IE浏览器方法
Jun 02 #Javascript
php+js实现倒计时功能
Jun 02 #Javascript
node.js应用后台守护进程管理器Forever安装和使用实例
Jun 01 #Javascript
node.js入门教程
Jun 01 #Javascript
You might like
神族 Protoss 剧情介绍
2020/03/14 星际争霸
绿山咖啡和蓝山咖啡
2021/03/04 新手入门
第十二节 类的自动加载 [12]
2006/10/09 PHP
一个ORACLE分页程序,挺实用的.
2006/10/09 PHP
手把手教你使用DedeCms的采集的图文教程
2007/03/11 PHP
PHP 程序员的调试技术小结
2009/11/15 PHP
phpmyadmin中禁止外网使用的方法
2014/11/04 PHP
PHP设计模式之简单投诉页面实例
2016/02/24 PHP
jQuery live
2009/05/15 Javascript
js跨浏览器实现将字符串转化为xml对象的方法
2013/09/25 Javascript
js抽奖实现随机抽奖代码效果
2013/12/02 Javascript
通过遮罩层实现浮层DIV登录的js代码
2014/02/07 Javascript
使用javascript控制cookie显示和隐藏背景图
2014/02/12 Javascript
Javascript学习笔记之相等符号与严格相等符号
2014/11/23 Javascript
js实现无限级树形导航列表效果代码
2015/09/23 Javascript
AngularJS实现分页显示数据库信息
2016/07/01 Javascript
Vue.Draggable实现拖拽效果
2020/07/29 Javascript
关于vue-router的那些事儿
2018/05/23 Javascript
iview实现select tree树形下拉框的示例代码
2018/12/21 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
微信小程序 拍照或从相册选取图片上传代码实例
2019/08/28 Javascript
layui使用button按钮 点击出现弹层 弹层中加载表单的实例
2019/09/04 Javascript
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
2017/10/01 Python
python实战之实现excel读取、统计、写入的示例讲解
2018/05/02 Python
python bmp转换为jpg 并删除原图的方法
2018/10/25 Python
pytorch 调整某一维度数据顺序的方法
2018/12/08 Python
新西兰优惠网站:Treat Me
2019/07/04 全球购物
学校党员对照检查材料
2014/08/28 职场文书
2014学习优秀共产党员先进事迹材料思想汇报
2014/09/14 职场文书
公司租房协议书范本
2014/10/08 职场文书
瘦西湖导游词
2015/02/03 职场文书
教学督导岗位职责
2015/04/10 职场文书
2015年人民调解工作总结
2015/05/18 职场文书
《青山不老》教学反思
2016/02/22 职场文书
Nest.js参数校验和自定义返回数据格式详解
2021/03/29 Javascript
Python Django搭建文件下载服务器的实现
2021/05/10 Python