jQuery学习笔记之总体架构_Javascript教程-查字典教程网
jQuery学习笔记之总体架构
jQuery学习笔记之总体架构
发布时间:2016-12-30 来源:查字典编辑
摘要:先来看代码:复制代码代码如下:(function(window,undefined){//构建jQuery对象vardocument=win...

先来看代码:

复制代码 代码如下:

(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教程学习
    热门Javascript教程学习
    编程开发子分类