www.jQueryBook.ru - jQuery документация

 

Сегодня: 06 декабря 2016 года, Вторник
Раздел API на стадии наполнения...

 

 

 

  • Категории: Utilities

    jQuery.extend()

    Объединяет содержимое двух или более объектов (расширяет исходный объект, дополняя его свойствами объектов источников).

Синтаксис и описание:

  • Добавлено в jQuery 1.0jQuery.extend( target [, object1, objectN ] )

  • Добавлено в jQuery 1.1.4jQuery.extend( [ deep ,] target, object1 [, objectN ] )

  • Функция jQuery.extend() изменяет (расширяет) и возвращает исходный объект, дополняя его свойствами объектов источников. (Имитация наследования в объектно-ориентированных языках программирования.)

Возвращаемое значение: Объект.

Параметры:

  • deep – (логическое значение) По умолчанию имеет значение false (т.е., если свойство исходного объекта в свою очередь является массивом или объектом, то оно полностью перезаписывается одноименным свойством объекта источника). Если установлено значение true, то слияние свойств происходит рекурсивно.

  • target – (объект) Исходный объект, свойства которого дополняются свойствами других объектов-источников. Все одноименные свойства переопределяются значениями свойств объектов-источников. Исходный объект будет изменен и возвращен функцией.

  • object1, objectN – (объекты) Один или несколько объектов-источников, свойствами которых дополняется исходный объект. Все одноименные свойства переопределяются значениями свойств объектов-источников. Приоритет имеют объекты, находящиеся в конце списка.

  1. Примечание:

    Т.к. исходный объект обязательно будет изменен и возвращен функцией уже модифицированным, то, чтобы сохранить оригиналы без изменений, можно передать вместо исходного объекта пустой объект.

  2. Примечание:

    Наряду с обычным распространенным использованием, с помощью функции jQuery.extend() можно добавлять в пространство имен jQuery новые функции. Это часто применяется профессиональными разработчиками плагинов для добавления новых методов jQuery.

    Например, если передать функции всего один объект, то будет считаться, что исходный объект опущен, а единственный переданный объект – это объект-источник для расширения объекта jQuery (пространства имен jQuery).

    Подробнее в разделе Создание плагинов (модули расширения jQuery).

Примеры:

  1.  

    // Объединить два объекта. (Первый объект модифицируется).
    
    var object1 = {
      apple: 0,
      banana: {weight: 52, price: 100},
      cherry: 97
    };
    var object2 = {
      banana: {price: 200},
      durian: 100
    };
    $.extend(object1, object2);
    
    
    // Результат:
    // object1 === {apple: 0, banana: {price: 200}, cherry: 97, durian: 100}
  2.  

    // Объединить рекурсивно два объекта. (Первый объект модифицируется).
    
    var object1 = {
      apple: 0,
      banana: {weight: 52, price: 100},
      cherry: 97
    };
    var object2 = {
      banana: {price: 200},
      durian: 100
    };
    $.extend(true, object1, object2);
    
    
    // Результат:
    // object1 === {apple: 0, banana: {weight: 52, price: 200}, 
                           cherry: 97, durian: 100}
  3.  

    // Объединить два объекта. А чтобы ни один из них не изменился,
    // передадим в качестве первого аргумента пустой объект.
    
    var defaults = { validate: false, limit: 5, name: "foo" };
    var options = { validate: true, name: "bar" };
    var empty = {}
    var settings = $.extend(empty, defaults, options);
    
    
    // Результат:
    // settings == { validate: true, limit: 5, name: "bar" }
    // empty == { validate: true, limit: 5, name: "bar" }

[ наверх ]










 




Справочник по jQuery JavaScript API на русском языке