欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jquery each()源代碼

 更新時間:2011年02月14日 18:58:29   作者:  
jquery文檔說 each(callback)作用是以每一個匹配的元素作為上下文來執(zhí)行一個函數(shù)。就是用each來遍歷數(shù)組,來執(zhí)行同一個方法
復(fù)制代碼 代碼如下:

// args is for internal usage only
each: function( object, callback, args ) {
var name, i = 0,
length = object.length,
isObj = length === undefined || jQuery.isFunction(object);
if ( args ) {
if ( isObj ) {
for ( name in object ) {
if ( callback.apply( object[ name ], args ) === false ) {
break;
}
}
} else {
for ( ; i < length; ) {
if ( callback.apply( object[ i++ ], args ) === false ) {
break;
}
}
}
// A special, fast, case for the most common use of each
} else {
if ( isObj ) {
for ( name in object ) {
if ( callback.call( object[ name ], name, object[ name ] ) === false ) {
break;
}
}
} else {
for ( var value = object[0];
i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {}
}
}
return object;
},

分析:jquery文檔說 each(callback)作用是以每一個匹配的元素作為上下文來執(zhí)行一個函數(shù)。就是用each來遍歷數(shù)組,來執(zhí)行同一個方法
這個方法的實現(xiàn)最關(guān)鍵的是:call與apply的用法:call(apply)就是將函數(shù)的對象的從初始的上下文改為thisObj指向的對象,
就是說用thisObj來代替原來的對象來執(zhí)行方法:call與apply的第一個參數(shù)為this指向的對象,而后面的參數(shù)都下傳給函數(shù)的,
call傳給函數(shù)的參數(shù)用逗號分隔而apply則為一個數(shù)組。
//1.callback.apply( object[ name ], args )
//2.callback.call( object[ name ], name, object[ name ] )

相關(guān)文章

最新評論