diff --git a/lib/util.js b/lib/util.js index 7af7d735..4a54d54f 100644 --- a/lib/util.js +++ b/lib/util.js @@ -204,20 +204,24 @@ * @pObj */ this.extend = function(pTarget, PObj) { - var i, n, lObj, lRet = Util.isObject(pTarget) ? pTarget : {}; + var i, n, lObj, + isFunc = Util.isFunction(PObj), + isArray = Util.isArray(PObj), + isObj = Util.isObject(pTarget), + ret = isObj ? pTarget : {}; - if ( Util.isArray(PObj) ) - for(i = 0, n = PObj.length; i < n; i++) - lRet = Util.extend(pTarget, PObj[i]); + if (isArray) + for (i = 0, n = PObj.length; i < n; i++) + ret = Util.extend(pTarget, PObj[i]); else if (PObj) { - lObj = Util.isFunction(PObj) ? new PObj() : PObj; + lObj = isFunc ? new PObj() : PObj; for(i in lObj) - lRet[i] = lObj[i]; + ret[i] = lObj[i]; } - return lRet; + return ret; }; /**