• 总体结构


    代码清单 2-1 构造 jQuery 对象模块的总体源码结构
    16 (function( window, undefined ) {            // 自调用匿名函数,当jQuery初始化时,这个自调用匿名函数包含的所有JavaScript代码将被执行。
            // 构造 jQuery 对象
    22         var jQuery = (function() {            // 定义变量jQuery,自调用匿名函数返回jQuery构造函数并赋值给变量jQuery
    25             var jQuery = function( selector, context ) { // 定义变量jQuery,它的值是jQuery构造函数,955行返回并赋值给第22行的变量jQuery,这两个jQuery变量是等价的,都指向jQuery构造函数
    27                 return new jQuery.fn.init( selector, context, rootjQuery ); // 调用jQuery构造函数时,实际返回的是jQuery.fn.init()的实例。
    28             },
                // 一堆局部变量声明
    97             jQuery.fn = jQuery.prototype = {    // 构造函数jQuery()的原型对象
    98                 constructor: jQuery,            // 覆盖原型对象的属性constructor,使它指向jQuery构造函数
    99                 init: function( selector, context, rootjQuery ) { ... },    // 定义原型方法jQuery.fn.init,负责解析参数selector和context的类型并执行相应的查找
                    // 一堆原型属性和方法
    319         };
    322         jQuery.fn.init.prototype = jQuery.fn;    // 用jQuery构造函数的原型对象jQuery.fn覆盖了jQuery.fn.init()的原型对象。
    324         jQuery.extend = jQuery.fn.extend = function() { ... }; // 定义了jQuery.extend() 和 jQuery.fn.extend(),用于合并两个或多个对象的属性到第一个对象
    388         jQuery.extend({            // 执行jQuery.extend()在jQuery构造函数上定义了一堆静态属性和方法
                    // 一堆静态属性和方法
    892         });
    955         return jQuery;
    957     })();
            // 省略其他模块的代码
    9246     window.jQuery = window.$ = jQuery;    // jQuery变量暴露给全局作用域window,并定义了别名$
    9266 })( window );

  • 相关阅读:
    disabled
    C# 实例化顺序
    session问题
    Node js文件系统
    Node js WEB模块
    Node js GET POST请求
    Node js路由
    Node js函数
    Node js模块系统
    Node js 安装+回调函数+事件
  • 原文地址:https://www.cnblogs.com/lixiaodou/p/7095266.html
Copyright © 2020-2023  润新知