Core: Simplify and speed up .each

Closes gh-1510

(cherry picked from commit eeda11cdd6)
This commit is contained in:
Daniel Husar 2014-02-07 10:30:13 +00:00 committed by Richard Gibson
parent aec41a5c41
commit 4cc4e54298

View File

@ -301,25 +301,20 @@ jQuery.extend({
// args is for internal usage only
each: function( obj, callback, args ) {
var value,
i = 0,
var i = 0,
length = obj.length,
isArray = isArraylike( obj );
if ( args ) {
if ( isArray ) {
for ( ; i < length; i++ ) {
value = callback.apply( obj[ i ], args );
if ( value === false ) {
if ( callback.apply( obj[ i ], args ) === false ) {
break;
}
}
} else {
for ( i in obj ) {
value = callback.apply( obj[ i ], args );
if ( value === false ) {
if ( callback.apply( obj[ i ], args ) === false ) {
break;
}
}
@ -329,17 +324,13 @@ jQuery.extend({
} else {
if ( isArray ) {
for ( ; i < length; i++ ) {
value = callback.call( obj[ i ], i, obj[ i ] );
if ( value === false ) {
if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
break;
}
}
} else {
for ( i in obj ) {
value = callback.call( obj[ i ], i, obj[ i ] );
if ( value === false ) {
if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
break;
}
}