jQuery学习笔记之总体架构

 更新时间:2014年06月03日 09:13:36   作者:  
jQuery是一个兼容多浏览器的javascript框架,核心理念是write less,do more(写得更少,做得更多)。如今,jQuery已经成为最流行的javascript框架,在世界前10000个访问最多的网站中,有超过55%在使用jQuery。那么作为一个前端设计师,怎么可能不来深入了解下jQuery呢,首先我们从他的总体构架开始吧

先来看代码:

复制代码 代码如下:

(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的外面有可能被篡改掉.尽管这个篡改的结果,各种浏览器不一样.

相关文章

  • 对于this和$(this)的个人理解

    对于this和$(this)的个人理解

    this指的是javascript对象而$(this)就是就jquery对象,不懂的朋友可以看看本文
    2013-09-09
  • jQuery中serializeArray()与serialize()的区别实例分析

    jQuery中serializeArray()与serialize()的区别实例分析

    这篇文章主要介绍了jQuery中serializeArray()与serialize()的区别,结合实例形式分析了jQuery中serializeArray()与serialize()的具体功能、使用技巧与用法区别,需要的朋友可以参考下
    2015-12-12
  • 用户管理的设计_jquery的ajax实现二级联动效果

    用户管理的设计_jquery的ajax实现二级联动效果

    下面小编就为大家带来一篇用户管理的设计_jquery的ajax实现二级联动效果。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • jQuery选择器的工作原理和优化分析

    jQuery选择器的工作原理和优化分析

    至于有那些选择器,在帮助手册中都有,自己去看,这篇主要是分析他的工作原理,而优化我们写 的选择器,尤其在页面内容很多的情况下,更应该需要优化。下边就言归正传。
    2011-07-07
  • jquery ajax 局部无刷新更新数据的实现案例

    jquery ajax 局部无刷新更新数据的实现案例

    这篇文章主要对jquery ajax 局部无刷新更新数据的实现案例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-02-02
  • Jquery 学习笔记(二)

    Jquery 学习笔记(二)

    从最开始看到Jquery这样的选择器就让我想起了CSS的选择器,简直是同出一辙啊,CSS的选择器语法个人觉得相当的经典,那么Jquery借鉴CSS也就没有多少疑问了。
    2009-10-10
  • JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例

    JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例

    这篇文章主要介绍了JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单,涉及jQuery针对页面元素属性动态操作相关实现技巧,需要的朋友可以参考下
    2019-05-05
  • 基于jquery的监控数据是否发生改变

    基于jquery的监控数据是否发生改变

    在实际开发中经常会遇到数据没发生改变是,由于用户不小心点击保存,这样导致数据库的日志增大;还有数据填写好后,忘了添加保存直接关闭页面离开。
    2011-04-04
  • jQuery中index()方法用法实例

    jQuery中index()方法用法实例

    这篇文章主要介绍了jQuery中index()方法用法,实例分析了index()方法返回索引值的几种常见使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • 基于jquery实现人物头像跟随鼠标转动

    基于jquery实现人物头像跟随鼠标转动

    一款非常乖巧的人物头像跟随鼠标转动效果,在浏览器屏幕内,人物脸庞始终面向鼠标转动,本篇文章给大家介绍基于jquery实现人物头像跟随鼠标转动,有需要的朋友可以参考下
    2015-08-08

最新评论