From: John Resig Date: Mon, 20 Aug 2007 06:29:41 +0000 (+0000) Subject: Just pushed some major speed improvements through for $.each() - we're now seeing... X-Git-Url: http://git.asbjorn.biz/?p=jquery.git;a=commitdiff_plain;h=f0353e89abf6643e5a88a649887a71a9ebd973d9 Just pushed some major speed improvements through for $.each() - we're now seeing a 2x speed improvement over 1.1.3. Some crude results can be found here: dev.jquery.com/~john/ticket/each/ --- diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js index ff33034..5ffccc5 100644 --- a/src/jquery/jquery.js +++ b/src/jquery/jquery.js @@ -1394,9 +1394,15 @@ jQuery.extend({ if ( obj.length == undefined ) for ( var i in obj ) fn.apply( obj[i], args || [i, obj[i]] ); - else + else if ( args ) { for ( var i = 0, ol = obj.length; i < ol; i++ ) - if ( fn.apply( obj[i], args || [i, obj[i]] ) === false ) break; + if ( fn.apply( obj[i], args ) === false ) break; + + // A special, fast, case for the most common use of each + } else + for ( var i = 0, ol = obj.length, val = obj[0]; + i < ol && fn.call(val,i,val) !== false; val = obj[++i] ); + return obj; },