jquery each()源代碼
更新時(shí)間:2011年02月14日 18:58:29 作者:
jquery文檔說(shuō) each(callback)作用是以每一個(gè)匹配的元素作為上下文來(lái)執(zhí)行一個(gè)函數(shù)。就是用each來(lái)遍歷數(shù)組,來(lái)執(zhí)行同一個(gè)方法
復(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文檔說(shuō) each(callback)作用是以每一個(gè)匹配的元素作為上下文來(lái)執(zhí)行一個(gè)函數(shù)。就是用each來(lái)遍歷數(shù)組,來(lái)執(zhí)行同一個(gè)方法
這個(gè)方法的實(shí)現(xiàn)最關(guān)鍵的是:call與apply的用法:call(apply)就是將函數(shù)的對(duì)象的從初始的上下文改為thisObj指向的對(duì)象,
就是說(shuō)用thisObj來(lái)代替原來(lái)的對(duì)象來(lái)執(zhí)行方法:call與apply的第一個(gè)參數(shù)為this指向的對(duì)象,而后面的參數(shù)都下傳給函數(shù)的,
call傳給函數(shù)的參數(shù)用逗號(hào)分隔而apply則為一個(gè)數(shù)組。
//1.callback.apply( object[ name ], args )
//2.callback.call( object[ name ], name, object[ name ] )
您可能感興趣的文章:
- 關(guān)于jQuery中的each方法(jQuery到底干了什么)
- jquery退出each循環(huán)的寫法
- jquery each的幾種常用的使用方法示例
- jQuery的each終止或跳過(guò)示例代碼
- Jquery each方法跳出循環(huán),并獲取返回值(實(shí)例講解)
- 解析prototype,JQuery中跳出each循環(huán)的方法
- 關(guān)于jquery中全局函數(shù)each使用介紹
- JQuery each打印JS對(duì)象的方法
- jquery $.each 和for怎么跳出循環(huán)終止本次循環(huán)
- jquery $.each()使用探討
- jquery foreach使用示例
- jquery $.each() 使用小探
- JQuery for與each性能比較分析
- JQuery each()函數(shù)如何優(yōu)化循環(huán)DOM結(jié)構(gòu)的性能
- jQuery.each()用法分享
- jquery里的each使用方法詳解
- 淺析jQuery的鏈?zhǔn)秸{(diào)用之each函數(shù)
- jquery的each方法使用示例分享
相關(guān)文章
jQuery實(shí)現(xiàn)帶延遲的二級(jí)tab切換下拉列表效果
這篇文章主要介紹了jQuery實(shí)現(xiàn)帶延遲的二級(jí)tab切換下拉列表效果,涉及jquery鼠標(biāo)事件及頁(yè)面元素樣式動(dòng)態(tài)變換的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09
jQuery實(shí)現(xiàn)仿微軟首頁(yè)感應(yīng)鼠標(biāo)變化滑動(dòng)窗口效果
這篇文章主要介紹了jQuery實(shí)現(xiàn)仿微軟首頁(yè)感應(yīng)鼠標(biāo)變化滑動(dòng)窗口效果,基于jQuery響應(yīng)鼠標(biāo)事件簡(jiǎn)單實(shí)現(xiàn)動(dòng)畫效果,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-10-10
jquery ajax分頁(yè)插件的簡(jiǎn)單實(shí)現(xiàn)
這篇文章主要介紹了jquery ajax分頁(yè)插件的簡(jiǎn)單實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2016-01-01
通過(guò)jquery實(shí)現(xiàn)tab標(biāo)簽瀏覽效果
這篇文章主要介紹了通過(guò)jquery實(shí)現(xiàn)tab標(biāo)簽瀏覽效果2007-02-02
jQuery開(kāi)源組件BootstrapValidator使用詳解
這篇文章主要為大家詳細(xì)介紹了jQuery開(kāi)源組件BootstrapValidator的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
jQuery動(dòng)態(tài)設(shè)置form表單的enctype值(實(shí)現(xiàn)代碼)
本篇文章是對(duì)在jQuery中動(dòng)態(tài)設(shè)置form表單的enctype值的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07
JQuery記住用戶名和密碼的具體實(shí)現(xiàn)
這篇文章主要介紹了JQuery實(shí)現(xiàn)記住用戶名和密碼的方法,需要的朋友可以參考下2014-04-04

