From: John Resig Date: Mon, 10 Dec 2007 01:45:03 +0000 (+0000) Subject: Added a change that triples the speed of all uses of $(...). For example $(DOMElement... X-Git-Url: http://git.asbjorn.biz/?a=commitdiff_plain;h=f97f77c034dc62001a687c728bdfdc71a23bf6b8;p=jquery.git Added a change that triples the speed of all uses of $(...). For example $(DOMElement) was 38ms, is now 13ms. --- diff --git a/src/core.js b/src/core.js index 27a5728..39ffdb5 100644 --- a/src/core.js +++ b/src/core.js @@ -14,10 +14,8 @@ if ( window.jQuery ) var _jQuery = window.jQuery; var jQuery = window.jQuery = function( selector, context ) { - // If the context is a namespace object, return a new object - return this instanceof jQuery ? - this.init( selector, context ) : - new jQuery( selector, context ); + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.prototype.init( selector, context ); }; // Map over the $ in case of overwrite @@ -521,6 +519,9 @@ jQuery.fn = jQuery.prototype = { } }; +// Give the init function the jQuery prototype for later instantiation +jQuery.prototype.init.prototype = jQuery.prototype; + function evalScript( i, elem ) { if ( elem.src ) jQuery.ajax({