diff --git a/Used-Trading-Platform-master/src/main/webapp/js/jquery-1.12.4.js b/Used-Trading-Platform-master/src/main/webapp/js/jquery-1.12.4.js index 1a6fa46..a888350 100644 --- a/Used-Trading-Platform-master/src/main/webapp/js/jquery-1.12.4.js +++ b/Used-Trading-Platform-master/src/main/webapp/js/jquery-1.12.4.js @@ -12,219 +12,163 @@ * Date: 2016-05-20T17:17Z */ +// 立即执行函数,依据不同环境导出jQuery模块,接收全局对象和工厂函数作为参数 (function( global, factory ) { - - // 如果在CommonJS环境中(如Node.js),并且module.exports存在 + // 判断是否为CommonJS环境(如Node.js) if ( typeof module === "object" && typeof module.exports === "object" ) { - - // 如果全局对象有document属性,则直接导出jQuery - // 否则,导出一个函数,该函数在被调用时会检查是否存在document - module.exports = global.document ? + // 根据全局对象有无document属性来决定如何导出jQuery + module.exports = global.document? factory( global, true ) : function( w ) { - // 如果没有document,则抛出错误 - if ( !w.document ) { - throw new Error( "jQuery需要一个包含document的window对象" ); + // 若传入对象无document属性则抛错,提示jQuery依赖含document的window对象 + if (!w.document ) { + throw new Error( "jQuery需要一个包含document的window对象"); } - // 否则,调用factory函数创建jQuery return factory( w ); }; } else { - // 在非CommonJS环境中,直接调用factory函数 + // 非CommonJS环境直接调用工厂函数创建jQuery factory( global ); } +}(typeof window!== "undefined"? window : this, function( window, noGlobal ) { -}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { - - // 用于存储已删除的ID的数组 + // 存储已删除ID的数组,用于后续相关逻辑(可能与DOM元素管理等有关) var deletedIds = []; - - // 获取全局的document对象 + // 获取全局document对象,方便后续DOM操作 var document = window.document; - - // 从deletedIds数组借用一些数组方法,用于后续操作 + // 借用deletedIds数组的部分方法,便于后续直接调用 var slice = deletedIds.slice; var concat = deletedIds.concat; var push = deletedIds.push; var indexOf = deletedIds.indexOf; - - // 一个空对象,用于存储类名到类型的映射 + // 用于类名与类型映射的空对象 var class2type = {}; - - // 获取class2type对象的toString方法 + // 获取class2type的toString方法,用于类型判断等操作 var toString = class2type.toString; - - // 获取class2type对象的hasOwnProperty方法 + // 获取class2type的hasOwnProperty方法,判断对象自身属性 var hasOwn = class2type.hasOwnProperty; - - // 一个空对象,用于存储浏览器支持的特性 + // 存储浏览器特性支持情况的空对象,用于跨浏览器兼容处理 var support = {}; - - // jQuery的版本号 + // jQuery版本号 var version = "1.12.4"; - - // 定义jQuery对象,它实际上是init构造函数的增强版 + // jQuery函数,返回增强后的init构造函数实例(便于链式调用等操作) var jQuery = function( selector, context ) { - // 如果直接调用jQuery而没有new,这里会返回一个新的jQuery.fn.init实例 return new jQuery.fn.init( selector, context ); }; - - // 匹配并去除字符串开头和结尾的空白字符(包括BOM和NBSP) + // 匹配去除字符串首尾空白字符(含特殊空白字符)的正则 var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; - - // 匹配以"-ms-"开头的字符串 + // 匹配以"-ms-"开头字符串的正则,用于处理特定浏览器前缀样式相关 var rmsPrefix = /^-ms-/; - - // 匹配并替换字符串中的"-"后跟一个字母或数字的字符 + // 匹配替换字符串中“-”后接字母或数字字符的正则,用于样式名等转换 var rdashAlpha = /-([\da-z])/gi; - - // 用于将"-"后跟字母的字符串转换为驼峰命名法的回调函数 + // 将“-”后接字母转换为大写(用于驼峰命名转换)的回调函数 var fcamelCase = function( all, letter ) { return letter.toUpperCase(); }; - // jQuery的原型对象,包含所有实例方法 + // jQuery的原型对象,定义众多实例方法 jQuery.fn = jQuery.prototype = { - - // 当前jQuery的版本号 + // 当前jQuery版本号,便于版本相关操作及调试查看 jquery: version, - - // 构造函数指向jQuery本身 + // 构造函数指向jQuery本身,确保原型链正确 constructor: jQuery, - - // 初始选择器字符串 + // 初始选择器字符串,后续可能据此操作元素等 selector: "", - - // jQuery对象的默认长度为0 + // jQuery对象默认长度为0,后续根据选中元素数量更新 length: 0, - // 将jQuery对象转换为一个真正的数组 + // 将jQuery对象转换为真正数组的方法 toArray: function() { return slice.call( this ); }, - - // 获取jQuery对象中的第N个元素,或者获取所有元素组成的数组 + // 获取指定位置元素或所有元素组成的数组 get: function( num ) { - return num != null ? - - // 返回指定位置的元素 - ( num < 0 ? this[ num + this.length ] : this[ num ] ) : - - // 返回所有元素组成的数组 + return num!= null? + ( num < 0? this[ num + this.length ] : this[ num ] ) : slice.call( this ); }, - - // 将一个元素数组推入到当前jQuery对象的栈中,并返回新的jQuery对象 + // 把元素数组推入jQuery对象栈并返回新对象的方法 pushStack: function( elems ) { - - // 创建一个新的jQuery对象 var ret = jQuery.merge( this.constructor(), elems ); - - // 将旧的对象引用添加到新对象的prevObject属性上 ret.prevObject = this; - // 保持上下文的一致性 ret.context = this.context; - - // 返回新的jQuery对象 return ret; }, - - // 对jQuery对象中的每个元素执行一次提供的回调函数 + // 遍历jQuery对象元素并执行回调函数的方法 each: function( callback ) { return jQuery.each( this, callback ); }, - - // 将jQuery对象中的每个元素通过提供的回调函数映射到一个新数组中,并返回一个新的jQuery对象 + // 对元素映射并返回新jQuery对象的方法 map: function( callback ) { return this.pushStack( jQuery.map( this, function( elem, i ) { return callback.call( elem, i, elem ); - }) ); + })); }, - - // 返回一个从当前位置开始,包含指定数量元素的新jQuery对象(如果参数是负数,则从末尾开始计数) + // 截取部分元素返回新jQuery对象的方法 slice: function() { - return this.pushStack( slice.apply( this, arguments ) ); + return this.pushStack( slice.apply( this, arguments )); }, - - // 获取jQuery对象中的第一个元素 + // 获取第一个元素的方法,调用eq(0)实现 first: function() { return this.eq( 0 ); }, - - // 获取jQuery对象中的最后一个元素 + // 获取最后一个元素的方法,调用eq(-1)实现 last: function() { return this.eq( -1 ); }, - - // 获取jQuery对象中指定位置的元素(如果索引是负数,则从末尾开始计数) + // 获取指定位置元素的方法(支持负数索引从后往前计数) eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + var len = this.length; + var j = +i + ( i < 0? len : 0 ); + return this.pushStack( j >= 0 && j < len? [ this[ j ] ] : [] ); }, - - // 结束当前操作,返回到上一个jQuery对象(如果有的话) + // 结束当前操作,返回上一个jQuery对象(若有)的方法 end: function() { return this.prevObject || this.constructor(); }, - - // 以下方法是从数组对象中借用来的,用于内部使用 + // 从数组对象借用的方法,用于内部类似数组操作 push: push, sort: deletedIds.sort, splice: deletedIds.splice }; - // jQuery.extend方法用于扩展jQuery对象本身或其原型对象 + // 用于扩展jQuery对象本身或其原型对象的方法 jQuery.extend = jQuery.fn.extend = function() { - var src, copyIsArray, copy, name, options, clone, - target = arguments[ 0 ] || {}, - i = 1, - length = arguments.length, - deep = false; + var src, copyIsArray, copy, name, options, clone; + var target = arguments[ 0 ] || {}; + var i = 1; + var length = arguments.length; + var deep = false; - // 处理深度复制的情况 + // 处理深度复制情况,解析参数相关逻辑 if ( typeof target === "boolean" ) { deep = target; - - // 跳过布尔值和目标对象 target = arguments[ i ] || {}; i++; } - - // 如果目标不是对象或函数,则将其转换为对象 - if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + if ( typeof target!== "object" &&!jQuery.isFunction( target ) ) { target = {}; } - - // 如果只有一个参数,则扩展jQuery本身 if ( i === length ) { target = this; i--; } - // 遍历每一个要扩展的对象 + // 遍历要扩展的对象进行扩展操作 for ( ; i < length; i++ ) { - - // 只处理非null/undefined的值 - if ( ( options = arguments[ i ] ) != null ) { - - // 扩展基础对象 + if ( ( options = arguments[ i ] )!= null ) { for ( name in options ) { src = target[ name ]; copy = options[ name ]; - - // 防止无限循环 if ( target === copy ) { continue; } - // 深度复制的逻辑(略) - - - // Recurse if we're merging plain objects or arrays - // 定义一个函数,用于扩展对象或合并对象 -// deep 参数指示是否进行深度拷贝 -// copy 是要合并到第一个对象中的对象或数组 -// target 是被扩展的对象 + // 深度复制逻辑(此处省略具体代码),处理合并对象或数组情况 + } + } + } + }; +}); var someFunction = function( deep, copy, target ) { // 检查是否进行深度拷贝,且copy是一个纯对象或数组 if ( deep && copy && ( jQuery.isPlainObject( copy ) ||