jquery each()源代码
更新时间:2011年02月14日 18:58:29 作者:
jquery文档说 each(callback)作用是以每一个匹配的元素作为上下文来执行一个函数。就是用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文档说 each(callback)作用是以每一个匹配的元素作为上下文来执行一个函数。就是用each来遍历数组,来执行同一个方法
这个方法的实现最关键的是:call与apply的用法:call(apply)就是将函数的对象的从初始的上下文改为thisObj指向的对象,
就是说用thisObj来代替原来的对象来执行方法:call与apply的第一个参数为this指向的对象,而后面的参数都下传给函数的,
call传给函数的参数用逗号分隔而apply则为一个数组。
//1.callback.apply( object[ name ], args )
//2.callback.call( object[ name ], name, object[ name ] )
您可能感兴趣的文章:
- 关于jQuery中的each方法(jQuery到底干了什么)
- jquery退出each循环的写法
- jquery each的几种常用的使用方法示例
- jQuery的each终止或跳过示例代码
- Jquery each方法跳出循环,并获取返回值(实例讲解)
- 解析prototype,JQuery中跳出each循环的方法
- 关于jquery中全局函数each使用介绍
- JQuery each打印JS对象的方法
- jquery $.each 和for怎么跳出循环终止本次循环
- jquery $.each()使用探讨
- jquery foreach使用示例
- jquery $.each() 使用小探
- JQuery for与each性能比较分析
- JQuery each()函数如何优化循环DOM结构的性能
- jQuery.each()用法分享
- jquery里的each使用方法详解
- 浅析jQuery的链式调用之each函数
- jquery的each方法使用示例分享
相关文章
div拖拽插件——JQ.MoveBox.js(自制JQ插件)
以前用原生的JS做过类似拖拽div的效果,现在按原思路改做成一个JQ的小插件,当作制作JQ插件的一个小练习,感兴趣的朋友可以了解下哈2013-05-05可兼容IE的获取及设置cookie的jquery.cookie函数方法
在使用IE来测试的时候,发现Discuz中的common.js里面的getcookie和setcookie这两个方法子啊IE下不起作用,因此有了jquery.cookie.js的由来,感兴趣的朋友可以参考下2013-09-09初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
SageCRM的查询条件屏幕的条件比较多,会占用界面,用户希望首先显示常用的查询条件,然后点击展开的按钮,可以看到一些不常用的查询条件2011-12-12jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
这是一个简单的POST 请求功能以取代复杂 $.ajax,请求成功时可调用回调函数,感兴趣的朋友可以参考下哈,希望对你有所帮助2013-04-04
最新评论