1. 估計很多人都會用到j(luò)Query中的each方法。
那就來看一看jQuery都干了些什么。
找到j(luò)query中的each源碼:
復(fù)制代碼 代碼如下:
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 ( ; i < length; ) {
if ( callback.call( object[ i ], i, object[ i++ ] ) === false ) {
break;
}
}
}
}
return object;
},
復(fù)制代碼 代碼如下:
$.each($(".demo"),function(){
console.log("show");
});
復(fù)制代碼 代碼如下:
<a href=""></a>
<a href=""></a>
<a href=""></a>
復(fù)制代碼 代碼如下:
console.log(Object.prototype.toString(object));
console.log(length);
復(fù)制代碼 代碼如下:
$(function(){
});
復(fù)制代碼 代碼如下:
$.each($(".demo"),function(a,b){
console.log(a + "" + $(a).attr("class"));
})
復(fù)制代碼 代碼如下:
callback.call( object[ i ], i, object[ i++ ] )
復(fù)制代碼 代碼如下:
callback.call(obj,args)
復(fù)制代碼 代碼如下:
callback.apply([obj],args)
新聞熱點
疑難解答
圖片精選