Сообщение от Dmitriyff
|
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
|
Это плохой пример, если массив, содержит вложенные массивы то при модификации исходного массива будет модифицирована и копия
function extend() {
var target = arguments[0];
for (var i = 1; i < arguments.length; ++i) {
var options = arguments[i];
for (var prop in options) {
target[prop] = (typeof options[prop] == 'object') ? extend({}, options[prop]) : options[prop];
}
}
return target;
}