jquery each()源代碼
// 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)的寫(xiě)法
- 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)用戶(hù)名無(wú)刷新驗(yàn)證的小例子
本人也是JQuery初學(xué)者,寫(xiě)了個(gè)用戶(hù)名無(wú)刷新驗(yàn)證的簡(jiǎn)單例子,拿來(lái)分享,共同學(xué)習(xí)一下吧。2013-03-03jQuery設(shè)置與獲取HTML,文本和值的簡(jiǎn)單實(shí)例
本篇文章主要是對(duì)jQuery設(shè)置與獲取HTML,文本和值的簡(jiǎn)單實(shí)例進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-02-02jQuery AnythingSlider滑動(dòng)效果插件
2009年最受歡迎jQuery插件—AnythingSlider【滑動(dòng)】2010-02-02jQuery實(shí)現(xiàn)點(diǎn)擊查看大圖并以彈框的形式居中
這篇文章主要介紹了jQuery實(shí)現(xiàn)點(diǎn)擊查看大圖并以彈框的形式居中的代碼,代碼簡(jiǎn)單易懂,需要的朋友參考下2016-08-08div拖拽插件——JQ.MoveBox.js(自制JQ插件)
以前用原生的JS做過(guò)類(lèi)似拖拽div的效果,現(xiàn)在按原思路改做成一個(gè)JQ的小插件,當(dāng)作制作JQ插件的一個(gè)小練習(xí),感興趣的朋友可以了解下哈2013-05-05可兼容IE的獲取及設(shè)置cookie的jquery.cookie函數(shù)方法
在使用IE來(lái)測(cè)試的時(shí)候,發(fā)現(xiàn)Discuz中的common.js里面的getcookie和setcookie這兩個(gè)方法子啊IE下不起作用,因此有了jquery.cookie.js的由來(lái),感興趣的朋友可以參考下2013-09-09jQuery 核心函數(shù)以及jQuery對(duì)象
首先介紹 jQuery 的幾個(gè)核心函數(shù),在 jQuery 中它們起著至關(guān)重要的作用,在實(shí)際的前端開(kāi)發(fā)過(guò)程中用到最多的也是它們。2010-03-03初學(xué)Jquery插件制作 在SageCRM的查詢(xún)屏幕隱藏部分行的功能
SageCRM的查詢(xún)條件屏幕的條件比較多,會(huì)占用界面,用戶(hù)希望首先顯示常用的查詢(xún)條件,然后點(diǎn)擊展開(kāi)的按鈕,可以看到一些不常用的查詢(xún)條件2011-12-12jQuery學(xué)習(xí)筆記(1)--用jQuery實(shí)現(xiàn)異步通信(用json傳值)具體思路
這是一個(gè)簡(jiǎn)單的POST 請(qǐng)求功能以取代復(fù)雜 $.ajax,請(qǐng)求成功時(shí)可調(diào)用回調(diào)函數(shù),感興趣的朋友可以參考下哈,希望對(duì)你有所幫助2013-04-04jquery實(shí)現(xiàn)excel導(dǎo)出的方法
最近要實(shí)現(xiàn)在web頁(yè)面上導(dǎo)出excel文件的功能,下面是具體的實(shí)現(xiàn)方法及思路2013-04-04