Bug Tracker

Ticket #2827: dollar-each.diff

File dollar-each.diff, 1.3 KB (added by dschoon, 15 years ago)
  • Users/dschoon/dev/Projects/jQuery/trunk/jquery/src/core.js

     
    716716                var name, i = 0, length = object.length;
    717717               
    718718                if ( args ) {
    719                         if ( length == undefined ) {
     719                        if ( object instanceof Array )
     720                                for ( ; i < length; )
     721                                        if ( callback.apply( object[ i++ ], args ) === false )
     722                                                break;
     723                        else {
    720724                                for ( name in object )
    721725                                        if ( callback.apply( object[ name ], args ) === false )
    722726                                                break;
    723                         } else
    724                                 for ( ; i < length; )
    725                                         if ( callback.apply( object[ i++ ], args ) === false )
    726                                                 break;
     727                        }
    727728
    728729                // A special, fast, case for the most common use of each
    729730                } else {
    730                         if ( length == undefined ) {
     731                        if ( object instanceof Array )
     732                                for ( var value = object[0];
     733                                        i < length && callback.call( value, i, value ) !== false; value = object[++i] ){}
     734                        else {
    731735                                for ( name in object )
    732736                                        if ( callback.call( object[ name ], name, object[ name ] ) === false )
    733737                                                break;
    734                         } else
    735                                 for ( var value = object[0];
    736                                         i < length && callback.call( value, i, value ) !== false; value = object[++i] ){}
     738                        }
    737739                }
    738740
    739741                return object;