X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fcore.js;h=b82133635fb2d19f0a34eec81f7daeac4e8ae6d0;hb=93be758de94b2d4a76fca217465c9e09b613cedd;hp=1d5a25bd5dab645bc45c410ced0450df1c249a5e;hpb=990d9ca1b05a587cce7599a1a40aa2558117db41;p=jquery.git diff --git a/src/core.js b/src/core.js index 1d5a25b..b821336 100644 --- a/src/core.js +++ b/src/core.js @@ -272,19 +272,10 @@ jQuery.extend = jQuery.fn.extend = function() { continue; } - // Recurse if we're merging object values - if ( deep && copy && typeof copy === "object" && !copy.nodeType ) { - var clone; - - if ( src ) { - clone = src; - } else if ( jQuery.isArray(copy) ) { - clone = []; - } else if ( jQuery.isObjectLiteral(copy) ) { - clone = {}; - } else { - clone = copy; - } + // Recurse if we're merging object literal values + if ( deep && copy && jQuery.isObjectLiteral(copy) ) { + // Don't extend not object literals + var clone = src && jQuery.isObjectLiteral(src) ? src : {}; // Never move original objects, clone them target[ name ] = jQuery.extend( deep, clone, copy );