Saved some references to native methods, instead of re-referencing them on every call.

This commit is contained in:
John Resig 2009-07-19 19:50:45 +00:00
parent 03de2cb5e7
commit b953c1d50a

View File

@ -34,8 +34,10 @@ var jQuery = function( selector, context ) {
// Keep a UserAgent string for use with jQuery.browser // Keep a UserAgent string for use with jQuery.browser
userAgent = navigator.userAgent.toLowerCase(), userAgent = navigator.userAgent.toLowerCase(),
// Save a reference to the core toString method // Save a reference to some core methods
toString = Object.prototype.toString; toString = Object.prototype.toString,
push = Array.prototype.push,
slice = Array.prototype.slice;
// Expose jQuery to the global object // Expose jQuery to the global object
window.jQuery = window.$ = jQuery; window.jQuery = window.$ = jQuery;
@ -126,7 +128,7 @@ jQuery.fn = jQuery.prototype = {
return this.length; return this.length;
}, },
toArray: Array.prototype.slice, toArray: slice,
// Get the Nth element in the matched element set OR // Get the Nth element in the matched element set OR
// Get the whole matched element set as a clean array // Get the whole matched element set as a clean array
@ -168,7 +170,7 @@ jQuery.fn = jQuery.prototype = {
// Resetting the length to 0, then using the native Array push // Resetting the length to 0, then using the native Array push
// is a super-fast way to populate an object with array-like properties // is a super-fast way to populate an object with array-like properties
this.length = 0; this.length = 0;
Array.prototype.push.apply( this, elems ); push.apply( this, elems );
return this; return this;
}, },
@ -201,7 +203,7 @@ jQuery.fn = jQuery.prototype = {
// For internal use only. // For internal use only.
// Behaves like an Array's method, not like a jQuery method. // Behaves like an Array's method, not like a jQuery method.
push: [].push, push: push,
sort: [].sort, sort: [].sort,
splice: [].splice splice: [].splice
}; };