// Extend a given object with all the properties in passed-in object(s). _.extend = createAssigner(_.allKeys);
// An internal function for creating assigner functions. var createAssigner = function(keysFunc, undefinedOnly) { returnfunction(obj) { var length = arguments.length; if (length < 2 || obj == null) return obj; for (var index = 1; index < length; index++) { var source = arguments[index], keys = keysFunc(source), l = keys.length; for (var i = 0; i < l; i++) { var key = keys[i]; if (!undefinedOnly || obj[key] === void0) obj[key] = source[key]; } } return obj; }; };