这个模块中,主要定义变量
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();
};