jQuery.each, jQuery.map, jQuery.proxy, jQuery.parseHTML, jQuery.parseXML
1. 核心==>实用工具 ==>jQuery.each()
jQuery.each(array, callback )
array 遍历的数组。
callback 该函数会在每个对象上(迭代)调用。
jQuery.each( object, callback )
object 遍历的对象。
callback 该函数会在每个对象上(迭代)调用。
描述: 一个通用的迭代函数,它可以用来无缝迭代对象和数组。数组和类似数组的对象通过一个长度属性(如一个函数的参数对象)来迭代数字索引,从0到length - 1。其他对象通过其属性名进行迭代。
注意: $.each()函数会在内部检索并且使用传递集合的 length属性。 所以,如果集合有一个名为length的属性 - 比如 {bar: ‘foo’, length: 10} - 这个函数可能无法正常工作。
$.each()函数和 $(selector).each()是不一样的,那个是专门用来遍历一个jQuery对象。$.each()函数可用于迭代任何集合,无论是“名/值”对象(JavaScript对象)或数组。在迭代数组的情况下,回调函数每次传递一个数组索引和相应的数组值作为参数。(该值也可以通过访问this关键字得到,但是JavaScript将始终将this值作为一个Object ,即使它是一个简单的字符串或数字值。)该方法返回其第一个参数,这是迭代的对象。
(1)用法:
|
|
(2)源码:
|
|
2. 核心==>实用工具 ==>jQuery.map()
jQuery.map( array, callback(elementOfArray, indexInArray) )
array 待转换数组。
callback(elementOfArray, indexInArray) 处理每一个元素的函数。第一个参数是数组元素,第二个参数是该元素的索引值。该函数可以返回任何值。在函数内部,this将是全局的window对象。
jQuery.map( arrayOrObject, callback( value, indexOrKey ) )
arrayOrObject 待转换数组或对象。
callback( value, indexOrKey ) 处理每一个元素的函数。第一个参数是数组中元素或对象的值,第二个参数是该元素在数组中的索引值或该对象的键。该函数可以返回任何值,该返回值会被添加到数组中。若返回是数组,则会将该数组中的元素添加到最终的结果数组中。在函数内部, this指的是全球(window)的对象。
描述: 将一个数组中的所有元素转换到另一个数组中。
(1)用法:
这里只是列举两个例子,具体的,可以到api中去查看[!http://www.css88.com/jqapi-1.9/jQuery.map/]
(2)源码:
|
|
3. 核心==>实用工具 ==>jQuery.proxy()
描述: 接受一个函数,然后返回一个新函数,并且这个新函数始终保持了特定的上下文语境。
jQuery.proxy( function, context )
function 将要改变上下文语境的函数。
context 函数的上下文语境(this)会被设置成这个 object 对象。
例一:
|
|
(1)目标:点击button时,button的文字变成红色。
(2)接着上面的需求,现在要求,500ms后再变换字体的颜色
看$.proxy大展身手:
jQuery.proxy( context, name )
context 函数的上下文语境会被设置成这个 object 对象。
name (string类型)将要改变上下文语境的函数名(这个函数必须是前一个参数 context 对象的属性)。
例二:
|
|
jQuery.proxy( function, context [, additionalArguments ] )
function 将要改变上下文语境的函数。
context 函数的上下文语境会被设置成这个 object 对象。
additionalArguments 任何数目的参数传递给function参数的函数引用。
例三:
还接着例一的例子继续说,现在又有一个需求了,想要第一次点击button时,button文字颜色是红色,之后的每次点击button的颜色是绿色。
jQuery.proxy( context, name [, additionalArguments ] )
context 函数的上下文语境会被设置成这个 object 对象。
name 将要改变上下文语境的函数名(这个函数必须是前一个参数 context 对象的属性)。
additionalArguments 任何数目的参数传递给name参数中命名的函数。
例四:
|
|
(2)源码:
|
|
(2)源码:
|
|
5. 核心==>实用工具 ==>jQuery.parseXML( data )
data 类型: String 用来解析的格式良好的XML字符串。
描述: 解析一个字符串到一个XML文档。
(1)用法:
|
|
(2)源码:
|
|
到此,jquery 源码 api 中 核心==>实用工具就告一段落了。api中的工具还有 $.ready 的源码没有解析,这个后期我会另写一篇文章与$(document).ready()一起来解析。
2017-11-23