• 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();
    };

  • 相关阅读:
    MapReduce的工作机制
    1023. Have Fun with Numbers (20)
    Javascript MVC 学习笔记(二) 控制器和状态
    Chapter 1 Securing Your Server and Network(5):使用SSL加密会话
    《MySQL必知必会学习笔记》:子查询
    C# 打开指定的目录 记住路径中 / 与 的使用方法
    JAVA虚拟机、Dalvik虚拟机和ART虚拟机简要对照
    应届生面试准备之道
    一致性hash
    android 关于listview scrollview 底部 控件无法显示的两个解决方案
  • 原文地址:https://www.cnblogs.com/y8932809/p/5832500.html
Copyright © 2020-2023  润新知