является не функцией, а объектом, который можно использовать для определения типа броузера (раздел 13.4.5). Если сценарий выполняется в IE, свойство
msie
этого объекта будет иметь значение true. В Firefox и родственных ему броузерах значение true будет иметь свойство
mozilla
. В Safari и Chrome значение true будет иметь свойство
webkit
, а в броузере Opera значение true будет иметь свойство
opera
. В дополнение к этим свойствам объект
browser
имеет также
свойство
version
, содержащее номер версии броузера. Приема определения типа броузера лучше стараться избегать, насколько это возможно, тем не менее это свойство можно использовать обхода ошибок, характерных для разных броузеров, как показано ниже:
if ($.browser.mozilla && parselnt($.browser.version) < 4) {
// Здесь обрабатывается гипотетическая ошибка в Firefox...
}
jQuery.contains
Эта функция принимает в аргументах два элемента документа. Она возвращает true, если первый элемент содержит второй, иначе возвращает значение false.
jQuery.each
В отличие от метода
each,
который выполняет итерации только по объектам
jQuery
, вспомогательная функция
jQuery.each
способна выполнять итерации по элементам массива или свойствам объекта. В первом аргументе она принимает массив или объект, по которому выполняются итерации. Во втором аргументе принимается функция, которая должна быть вызвана для каждого элемента массива или свойства объекта. Этой функции передаются два аргумента: индекс элемента массива или имя свойства объекта и значение элемента массива или свойства объекта. Значение ссылки this в этой функции совпадает со значением второго аргумента. Если функция вернет false,
jQuery.each
сразу же вернет управление, не завершив итерации. Функция
jQuery.each
всегда возвращает значение первого аргумента.
Перечисление свойств функцией
jQuery.each
выполняется в том же порядке, что и в обычном цикле
for/in
, т.е. в итерациях участвуют все перечислимые свойства, включая унаследованные. Перечисление элементов массива функцией
jQuery.each
выполняется в порядке следования их индексов, и она не пропускает неопределенные элементы в разреженных массивах.
jQuery.extend
Эта функция принимает объекты в своих аргументах. Она копирует свойства из второго и всех последующих объектов в первый объект, затирая все одноименные свойства в первом объекте. Она пропускает все свойства, имеющие значение undefined или null. Если передать ей только один объект, свойства этого объекта будут скопированы в сам объект jQuery. Возвращаемым значением функции является объект, в который копировались свойства. Если в первом аргументе передать значение true, будет выполнено глубокое, или рекурсивное, копирование: второй аргумент будет дополнен свойствами третьего (и всех последующих) объектов.
Эту функцию удобно использовать для создания копий объектов и объединения объектов с параметрами с настройками по умолчанию:
var clone = jQuery.extend({}, original);
var options = jQuery.extend({}, default_options, user_options); jQuery.globalEval
Эта функция выполняет строку с программным кодом на языке JavaScript в глобальном контексте, как если бы она была содержимым элемента
<script>.
(В действительности эта функция создает элемент
<script>
и временно вставляет его в документ.)
jQuery.grep
Эта функция похожа на метод
filter
объекта
Array
, определяемый стандартом ES5. В первом аргументе она принимает массив, а во втором - функцию-предикат и вызывает эту функцию для каждого элемента массива, передавая ей значение и индекс элемента. Функция
jQuery.grep
возвращает новый массив, содержащий только те элементы аргумента-массива, для которых функция-предикат вернула значение true (или другое значение, которое оценивается как истинное). Если в третьем аргументе передать функции
jQuery.grep
значение true, она будет инвертировать возвращаемое значение функции-предиката и вернет массив элементов, для которых функция-предикат вернула ложное значение.
jQuery.inArray
Эта функция похожа на метод
indexOf
объекта
Array
, определяемый стандартом ES5. В первом аргументе она принимает произвольное значение, а во втором - массив (или объект, подобный массиву) и возвращает индекс первого элемента в массиве, имеющего это значение, или -1, если указанное значение отсутствует в массиве.
jQuery.isArray
Возвращает true, если аргумент является объектом
Array
.
jQuery.isEmptyObject
Возвращает true, если аргумент не содержит перечислимых свойств.
jQuery.isFunction
Возвращает true, если аргумент является объектом
Function
. Обратите внимание, что в IE версии 8 и ниже такие методы, определяемые броузером, как
Window.alert
и
Element.attachEvent,
не являются функциями в этом смысле.
jQuery.isPlainObject
Возвращает true, если аргумент является «простым» объектом, а не экземпляром некоторого более специализированного типа или класса объектов.
jQuery.makeArray
Если аргумент является объектом, подобным массиву, эта функция скопирует элементы из этого объекта в новый (истинный) массив и вернет этот массив. Если аргумент не является объектом, подобным массиву, эта функция просто вернет новый массив с аргументом в качестве единственного элемента.
jQuery.map
Эта функция похожа на метод
map
объекта
Array
, определяемый стандартом ES5. В первом аргументе она принимает массив или объект, подобный массиву, а во втором - функцию. Она передает указанной функции значение и индекс каждого элемента массива и возвращает новый массив, содержащий значения, возвращаемые функцией.
jQuery.map
имеет пару отличий от метода
map
в стандарте ES5. Если ваша функция отображения вернет null, это значение не будет включено в массив с результатами. И если ваша функция отображения вернет массив, в результат будут добавлены элементы этого массива по отдельности, а не сам массив.
jQuery.merge
Эта функция принимает два массива или объекта, подобных массивам, добавляет элементы второго массива в первый и возвращает первый массив. Первый массив изменяется, а второй - нет. Обратите внимание, что эту функцию можно использовать для поверхностного копирования массивов, как показано ниже: