jQuery.extend

« Обратно к странице инструментов

jQuery.extend[deep], target, object1, [objectN] )

Расширяет объект другими объектами и возвращает модифицированный объект.
Если не указан аргумент target, то расширяется само пространство имен jQuery. Это может быть полезно для авторов дополнений, желающих добавить новый метод в jQuery.
Помните, целевой объект будет модифицирован и возвращен от функции extend().
Если в качестве первого аргумента указано true, то JQuery сделает «глубокое» копирование, рекурсивно копируя абсолютно все объекты, которые сможет найти. Иначе, копия будет разделять свою структуру с оригинальными объектами(ом).

Неуказанные свойства НЕ копируются. Тем не менее, свойства, унаследованные от прототипа объекта БУДУТ скопированы.

Аргументы:

deep (необязательно) Логическое значение
Если указано true, то JQuery сделает «глубокое» копирование, рекурсивно копируя абсолютно все объекты, которые сможет найти.
target Объект
Объект, который необходимо расширить.
object1 Объект
Добавляемый объект.
objectN (необязательно) Объект
Остальные добавляемые объекты.
Примеры:

Объединяет настройки и опции, модифицируя настройки.
var settings = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
jQuery.extend(settings, options);
settings == { validate: true, limit: 5, name: "bar" }
Объединяет настройки по умолчанию и опции, не модифицируя настройки по умолчанию.
var empty = {}
var defaults = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
var settings = $.extend(empty, defaults, options);
settings == { validate: true, limit: 5, name: "bar" }
empty == { validate: true, limit: 5, name: "bar" }
Name Type