手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >jquery each()源代码
jquery each()源代码
摘要:复制代码代码如下://argsisforinternalusageonlyeach:function(object,callback,arg...

复制代码 代码如下:

// 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()源代码】相关文章:

html代码调试脚本

Ctrl + Enter提交前检测的代码

用javascript动态注释掉HTML代码

JavaScript中search()方法的使用

jquery实现的判断倒计时是否结束代码

Javascript随机显示图片的源代码

jquery插件validation实现验证身份证号等

Jquery注册事件实现方法

jQuery聚合函数实例

jQuery取消ajax请求的方法

精品推荐
分类导航