這個模塊中,主要定義變量
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*(<[\w\W]+>)[^>]*|#([\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();
};