Произошла ошибка.
Пожалуйста, обновите страницу.
Fly.js > Документация > Коллекции > $.extend()

$.extend()

Расширяет исходный объект свойствами из других объектов.

#Коллекции

$.extend([deep], target, [object1], [objectN])

                    FlyDomNode: {
                        __constructor: function(context) {
                            var array = fnNodeList.makeDomNodeArray(context);
                            for (var a = 0, al = array.length; a < al; a++) {
                                this[a] = array[a];
                            }
                            this.length = al;
                        },

                        size: function() {
                            return this.length;
                        },

                        get: function(index) {
                            return $.isNumber(index) ? this[index] : [].slice.call(this);
                        },

                        addNode: function(flyNode) {
                            return fnNodeList.changeNodeContext(this, flyNode, function(child, context) {
                                context.indexOf(child) === -1 && context.push(child);
                            });
                        },

                        removeNode: function(flyNode) {
                            return fnNodeList.changeNodeContext(this, flyNode, function(child, context) {
                                var position = context.indexOf(child);
                                if (position !== -1) context.splice(position, 1);
                            });
                        },

                        eq: function(index) {
                            if (index < 0) index = index + this.length;
                            return new this.__self(this[index]);
                        },

                        lt: function(index) {
                            return new this.__self(this.slice(0, index));
                        },

                        gt: function(index) {
                            return new this.__self(this.slice(index));
                        },

                        last: function(selector) {
                            var element = this[this.length - 1];
                            return new this.__self(fnStyle.isMatch(element, selector) ? element : []);
                        },

                        first: function(selector) {
                            var element = this[0];
                            return new this.__self(fnStyle.isMatch(element, selector) ? element : []);
                        },

                        normalize: function() {
                            return fnNodeList.transformNodeContext(this, function(item, context) {
                                if ($.isNode(item)) context.push(item);
                            });
                        },

                        each: function(callback, context) {
                            $.each(this, callback, context);
                            return this;
                        },

                        name: function() {
                            return this[0].tagName.toLowerCase() || null;
                        }
                    }
                

$.extend([deep], target, [object1], [objectN])
Возвращает: Object {}

Расширяет исходный объект свойствами из других объектов.

deep (default false): Boolean !!

Флаг, разрешающий глубокое копирование свойств.

target: Function () or Object {}

Исходный объект или функция.

object1: Function () or Object {}

Объект для расширения исходного.

objectN: Function () or Object {}

Объект для расширения исходного.

Обратите внимание, что метод изменяет исходный объект target и возвращает его же.

Независимо от target, метод вернёт объект. Если target не является объектом или функцией, он будет заменён на пустой объект {}.

Вместо объектов можно указывать функции, поскольку они также имеют собственные свойства.

Если флаг deep выключен, скопируются только свойства объектов object1, object2, objectN..., но не свойства объектов внутри них.

Для лучшего понимания работы $.extend() посмотрите примеры.

Пример: Расширение объекта с разным значением флага deep.

<!DOCTYPE html>
    <head>
        <meta charset="utf-8"/>
        <title>Fly.js - $.extend()</title>

        <script src="/scripts/fly.js"></script>
    </head>
    <body>
        <p id="p1"></p>
        <p id="p2"></p>

        <script>
            var target1 = {a: 1, b: 2, c: {d: 4, e: 5}},
                target2 = {a: 1, b: 2, c: {d: 4, e: 5}},
                object1 = {a: 11},
                object2 = {c: {d: 44}};

            $.extend(target1, object1, object2);
            $.extend(true, target2, object1, object2);

            $('#p1').html(JSON.stringify(target1));
            $('#p2').html(JSON.stringify(target2));
        </script>
    </body>
</html>