X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fcore.js;h=4091111a944aa0bfffab3d5ea920bd8ea22a2b5e;hb=ebad701751689b773afe29d1e3c4532c7810d02a;hp=5da31e6a622f827ceac006da786a7fe1c8470036;hpb=df6e02a4a7d8da037ebdb812e6b92a067223a6ea;p=jquery.git diff --git a/src/core.js b/src/core.js index 5da31e6..4091111 100644 --- a/src/core.js +++ b/src/core.js @@ -273,9 +273,9 @@ jQuery.extend = jQuery.fn.extend = function() { } // Recurse if we're merging object literal values - if ( deep && copy && jQuery.isObjectLiteral(copy) ) { + if ( deep && copy && jQuery.isPlainObject(copy) ) { // Don't extend not object literals - var clone = src && jQuery.isObjectLiteral(src) ? src : {}; + var clone = src && jQuery.isPlainObject(src) ? src : {}; // Never move original objects, clone them target[ name ] = jQuery.extend( deep, clone, copy ); @@ -314,8 +314,8 @@ jQuery.extend({ return toString.call(obj) === "[object Array]"; }, - isObjectLiteral: function( obj ) { - if ( toString.call(obj) !== "[object Object]" ) { + isPlainObject: function( obj ) { + if ( toString.call(obj) !== "[object Object]" || typeof obj.nodeType === "number" ) { return false; } @@ -484,13 +484,14 @@ jQuery.extend({ return ret; }, - map: function( elems, callback ) { + // arg is for internal usage only + map: function( elems, callback, arg ) { var ret = [], value; // Go through the array, translating each of the items to their // new value (or values). for ( var i = 0, length = elems.length; i < length; i++ ) { - value = callback( elems[ i ], i ); + value = callback( elems[ i ], i, arg ); if ( value != null ) { ret[ ret.length ] = value;