zoukankan      html  css  js  c++  java
  • jQuery源码分析-03构造jQuery对象-源码结构和核心函数

    3. 构造jQuery对象

    3.1源码结构

    先看看总体结构,再做分解:

    (function( window, undefined ) {
       
        var jQuery = (function() {
           // 构建jQuery对象
           var jQuery = function( selector, context ) {
               return new jQuery.fn.init( selector, context, rootjQuery );
           }
       
           // jQuery对象原型
           jQuery.fn = jQuery.prototype = {
               constructor: jQuery,
               init: function( selector, context, rootjQuery ) {
                  // selector有以下7种分支情况:
                  // DOM元素
                  // body(优化)
                  // 字符串:HTML标签、HTML字符串、#id、选择器表达式
                  // 函数(作为ready回调函数)
                  // 最后返回伪数组
               }
           };
       
           // Give the init function the jQuery prototype for later instantiation
           jQuery.fn.init.prototype = jQuery.fn;
       
           // 合并内容到第一个参数中,后续大部分功能都通过该函数扩展
           // 通过jQuery.fn.extend扩展的函数,大部分都会调用通过jQuery.extend扩展的同名函数
           jQuery.extend = jQuery.fn.extend = function() {};
          
           // 在jQuery上扩展静态方法
           jQuery.extend({
               // ready bindReady
               // isPlainObject isEmptyObject
               // parseJSON parseXML
               // globalEval
               // each makeArray inArray merge grep map
               // proxy
               // access
               // uaMatch
               // sub
               // browser
           });
     
            // 到这里,jQuery对象构造完成,后边的代码都是对jQuery或jQuery对象的扩展
           return jQuery;
       
        })();
       
        window.jQuery = window.$ = jQuery;
    })(window);
  • 相关阅读:
    此心本净四——圣言录·下·平等无分别
    此心本净三——圣言录·中·空性
    一饮一啄,自成因果
    心为何而动······
    此心漂泊
    喜欢看心的幻化
    (js描述的)数据结构[集合结构](6)
    (js描述的)数据结构[双向链表](5)
    (js描述的)数据结构[链表](4)
    微信小程序(黑马优购)完成!!{10天}
  • 原文地址:https://www.cnblogs.com/yuqingfamily/p/5785418.html
Copyright © 2011-2022 走看看