Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Функция extend (https://javascript.ru/forum/misc/30544-funkciya-extend.html)

Антон Крамолов 08.08.2012 11:47

function extend() {
    var len = arguments.length, target, i = 0, options, prop;
    
    if (len > 0) {
        if (len == 1) {
            target = {};
        }
        else {
            target = arguments[0];
            ++i;
        }

        for (; i < len; ++i) {
            options = arguments[i];

            for (prop in options) {          
                target[prop] = (typeof options[prop] == 'object') ? extend(options[prop]) : options[prop];
            }
        }

        return target;
    }
}

var a = {i1: '1', i2: {i21: '21', i22: '22'}};
var b = extend(a); // считай клонируем
a.i2.i22 = 'ЙУХ';
window.status = b.i2.i22;


Во так нормалек


Часовой пояс GMT +3, время: 17:49.