jQuery: The Write Less, Do More JavaScript Library

Ticket #2827: dollar-each.diff

File dollar-each.diff, 1.3 kB (added by dschoon, 3 months 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;