function extend() {
var options, name,
target = arguments[0] || {},
i = 1
length = arguments.length;
for ( ; i < length; i++) {
if ( (options = arguments[i]) != null) {
for (var name in options) {
target[name] = options[name]
}
}
}
return target;
}
var defaults = {width: 'auto', height: 'auto'};
var options = {width: '1000px'};
var c = extend({}, defaults, options);
console.log(c); // {width: '1000px', 'height': 'auto'}
самый простой вариант
посмотрите реализацию у
jQuery