zoukankan      html  css  js  c++  java
  • JQuery源码解析-定义变量和函数,赋值JQuery

    这个模块中,主要定义变量

    rootjQuery:定义Jq的根对象,为了可压缩

    readyList :

    core_strundefined:将typeof undefined的值"undefined"赋值给这个变量,因为在IE9及以下对于xmlNode.method是不等于undefined的,只有比较"undefined"字符串的时候才会相等,考虑兼容性

    将一些对象赋值给变量

    location = window.location,
    document = window.document,
    docElem = document.documentElement

    这是为了防止方法外部对$和jQuery赋值,将这些值保存在内部的变量里,不至于丢失。

    _jQuery = window.jQuery,
    
    _$ = window.$,

    class2type:这个变量保存的一些js的类型例如:[{"Object String","string"}]等,以后做类型判断,用到这个数组

    core_deletedIds:在2.0一下的版本,对于data不是做面向对象处理的,在2.0以上才是,所以用到这个,在2.0以上,这个变量没什么太大的用处。

    core_version:版本号。

    下面是对将一下数组方法赋值到这些变量里,core_deletedIds这个变量也就是在这用到了, 其他地方没再用到这个变量。

    core_concat = core_deletedIds.concat,
    core_push = core_deletedIds.push,
    core_slice = core_deletedIds.slice,
    core_indexOf = core_deletedIds.indexOf,
    core_toString = class2type.toString,
    core_hasOwn = class2type.hasOwnProperty,
    core_trim = core_version.trim,

    初始化JQ的方法。

    jQuery = function( selector, context ) {
    // The jQuery object is actually just the init constructor 'enhanced'
    return new jQuery.fn.init( selector, context, rootjQuery );
    },

    下面是一些正则,用到了在说明。

    core_pnum = /[+-]?(?:d*.|)d+(?:[eE][+-]?d+|)/.source,
    
    core_rnotwhite = /S+/g,
    
    rquickExpr = /^(?:s*(<[wW]+>)[^>]*|#([w-]*))$/,
    
    rsingleTag = /^<(w+)s*/?>(?:</1>|)$/,
    
    rmsPrefix = /^-ms-/,
    rdashAlpha = /-([da-z])/gi,

    下面这个方法是用于进行驼峰转换的,例如 case-int 可以转换为caseInt这种操作。

    fcamelCase = function( all, letter ) {
    return letter.toUpperCase();
    },

    这个方法暂时还没明白。。后续补上

    // The ready event handler and self cleanup method
    completed = function() {
    document.removeEventListener( "DOMContentLoaded", completed, false );
    window.removeEventListener( "load", completed, false );
    jQuery.ready();
    };

  • 相关阅读:
    数据库连接池使用(一):使用C#数据库连接池
    开包即食的教程带你浅尝最新开源的C# Web引擎Blazor
    HTTP协议之内容协商
    浅谈Cookie、Session与Cache的区别
    应用程序框架(一):DDD分层架构:领域实体(基础篇)
    持续集成是什么?
    Git版本控制 Git、github,gitlab相关操作
    Spring-Cloud-Netflix-Ribbon&Feigen
    Spring-Cloud-Netflix-Eureka集群搭建
    java面试题-javaSE基础
  • 原文地址:https://www.cnblogs.com/y8932809/p/5832500.html
Copyright © 2011-2022 走看看