(cherry picked from commit b31bd4c) Conflicts: src/core.js src/data.js
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -58,13 +58,13 @@ jQuery.fn = jQuery.prototype = { | ||
// Get the Nth element in the matched element set OR | ||
// Get the whole matched element set as a clean array | ||
get: function( num ) { | ||
return num == null ? | ||
return num != null ? | ||
|
||
// Return a 'clean' array | ||
this.toArray() : | ||
( num < 0 ? this[ num + this.length ] : this[ num ] ) : | ||
|
||
// Return just the object | ||
( num < 0 ? this[ this.length + num ] : this[ num ] ); | ||
slice.call( this ); | ||
}, | ||
|
||
// Take an array of elements and push it onto the stack | ||
@@ -89,6 +89,12 @@ jQuery.fn = jQuery.prototype = { | ||
return jQuery.each( this, callback, args ); | ||
}, | ||
|
||
map: function( callback ) { | ||
return this.pushStack( jQuery.map(this, function( elem, i ) { | ||
return callback.call( elem, i, elem ); | ||
})); | ||
}, | ||
|
||
slice: function() { | ||
return this.pushStack( slice.apply( this, arguments ) ); | ||
}, | ||
@@ -107,12 +113,6 @@ jQuery.fn = jQuery.prototype = { | ||
return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); | ||
}, | ||
|
||
map: function( callback ) { | ||
return this.pushStack( jQuery.map(this, function( elem, i ) { | ||
return callback.call( elem, i, elem ); | ||
})); | ||
}, | ||
|
||
end: function() { | ||
return this.prevObject || this.constructor(null); | ||
}, | ||
@@ -134,9 +134,10 @@ jQuery.extend = jQuery.fn.extend = function() { | ||
// Handle a deep copy situation | ||
if ( typeof target === "boolean" ) { | ||
deep = target; | ||
target = arguments[1] || {}; | ||
|
||
// skip the boolean and the target | ||
i = 2; | ||
target = arguments[ i ] || {}; | ||
i++; | ||
} | ||
|
||
// Handle case when target is a string or something (possible in deep copy) | ||
@@ -145,9 +146,9 @@ jQuery.extend = jQuery.fn.extend = function() { | ||
} | ||
|
||
// extend jQuery itself if only one argument is passed | ||
if ( length === i ) { | ||
if ( i === length ) { | ||
target = this; | ||
--i; | ||
i--; | ||
} | ||
|
||
for ( ; i < length; i++ ) { | ||
@@ -195,6 +196,12 @@ jQuery.extend({ | ||
// Assume jQuery is ready without the ready module | ||
isReady: true, | ||
|
||
error: function( msg ) { | ||
throw new Error( msg ); | ||
}, | ||
|
||
noop: function() {}, | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
sebbekarlsson
|
||
|
||
noConflict: function( deep ) { | ||
if ( window.$ === jQuery ) { | ||
window.$ = _$; | ||
@@ -227,16 +234,6 @@ jQuery.extend({ | ||
return obj - parseFloat( obj ) >= 0; | ||
}, | ||
|
||
type: function( obj ) { | ||
if ( obj == null ) { | ||
return String( obj ); | ||
} | ||
// Support: Android < 4.0, iOS < 6 (functionish RegExp) | ||
return typeof obj === "object" || typeof obj === "function" ? | ||
class2type[ toString.call(obj) ] || "object" : | ||
typeof obj; | ||
}, | ||
|
||
isPlainObject: function( obj ) { | ||
// Not plain objects: | ||
// - Any object or value whose internal [[Class]] property is not "[object Object]" | ||
@@ -272,12 +269,16 @@ jQuery.extend({ | ||
return true; | ||
}, | ||
|
||
error: function( msg ) { | ||
throw new Error( msg ); | ||
type: function( obj ) { | ||
if ( obj == null ) { | ||
return obj + ""; | ||
} | ||
// Support: Android < 4.0, iOS < 6 (functionish RegExp) | ||
return typeof obj === "object" || typeof obj === "function" ? | ||
class2type[ toString.call(obj) ] || "object" : | ||
typeof obj; | ||
}, | ||
|
||
noop: function() {}, | ||
|
||
// Evaluates a script in a global context | ||
globalEval: function( code ) { | ||
var script, | ||
@@ -401,23 +402,23 @@ jQuery.extend({ | ||
return first; | ||
}, | ||
|
||
grep: function( elems, callback, inv ) { | ||
var retVal, | ||
ret = [], | ||
grep: function( elems, callback, invert ) { | ||
var callbackInverse, | ||
matches = [], | ||
i = 0, | ||
length = elems.length; | ||
inv = !!inv; | ||
length = elems.length, | ||
callbackExpect = !invert; | ||
|
||
// Go through the array, only saving the items | ||
// that pass the validator function | ||
for ( ; i < length; i++ ) { | ||
retVal = !!callback( elems[ i ], i ); | ||
if ( inv !== retVal ) { | ||
ret.push( elems[ i ] ); | ||
callbackInverse = !callback( elems[ i ], i ); | ||
if ( callbackInverse !== callbackExpect ) { | ||
matches.push( elems[ i ] ); | ||
} | ||
} | ||
|
||
return ret; | ||
return matches; | ||
}, | ||
|
||
// arg is for internal usage only | ||
@@ -434,7 +435,7 @@ jQuery.extend({ | ||
value = callback( elems[ i ], i, arg ); | ||
|
||
if ( value != null ) { | ||
ret[ ret.length ] = value; | ||
ret.push( value ); | ||
} | ||
} | ||
|
||
@@ -444,7 +445,7 @@ jQuery.extend({ | ||
value = callback( elems[ i ], i, arg ); | ||
|
||
if ( value != null ) { | ||
ret[ ret.length ] = value; | ||
ret.push( value ); | ||
} | ||
} | ||
} | ||
@@ -501,17 +502,16 @@ function isArraylike( obj ) { | ||
var length = obj.length, | ||
type = jQuery.type( obj ); | ||
|
||
if ( jQuery.isWindow( obj ) ) { | ||
if ( type === "function" || jQuery.isWindow( obj ) ) { | ||
return false; | ||
} | ||
|
||
if ( obj.nodeType === 1 && length ) { | ||
return true; | ||
} | ||
|
||
return type === "array" || type !== "function" && | ||
( length === 0 || | ||
typeof length === "number" && length > 0 && ( length - 1 ) in obj ); | ||
return type === "array" || length === 0 || | ||
typeof length === "number" && length > 0 && ( length - 1 ) in obj; | ||
} | ||
|
||
return jQuery; | ||
Why?