15. Введение в jQuery

Вспомогательные функции

Большая часть функциональности jQuery реализована как набор методов обёртки. Кроме этого, для самой функции $ определены несколько полезных методов (вспомним, что функция в JavaScript — это объект). В терминологии jQuery эти методы называются вспомогательными функциями (или инструментами). Ниже представлен неполный обзор вспомогательных функций jQuery.

Работа с массивами и объектами

$.each(объект, функция)

Возвращает: объект.

Функция для построения циклов, которую можно использовать для итераций над массивами и объектами.

Функция, вызывающаяся во втором аргументе, имеет два собственных аргумента:

  • ключ (для объектов) или индекс (для массивов);
  • значение.

Если необходимо остановить цикл each() на конкретной итерации, то нужно заставить функцию возвратить false, в противном случае, цикл продолжится.

Ниже показаны два примера, в которых в модальные окна выводятся содержимое массива и объекта.

Пример 1

$.each([52, 97], function(index, value) 
{ 
  alert(index + ': ' + value); 
});
Пример 2

var map = { 'имя': 'Иванов', 'возраст': '45' }; 
$.each(map, function(key, value) 
{ 
  alert(key + ': ' + value); 
});
$.extend(target, object1, objectN)

Возвращает: объект.

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

Аргументы:

  • target — объект, который необходимо расширить
  • object1, ... objectN — добавляемые объекты
Пример

var settings = { validate:false, limit:5, name: "foo" };
var options = { validate: true, name: "bar", num:100};
$.extend(settings, options);
Результат:
settings == { validate: true, limit: 5, name: "bar", num:100 }

Типичным случаем применения метода $.extend является следующий. Пусть описана функция, в которую аргументы передаются в виде набора пар имя/значения объекта options:


function f(options)
{
 ...
}

Если необходимо предусмотреть некоторые значения пар по умолчанию, то это можно сделать следующим образом:


function f(options)
{
 options = $.extend(
   {
     ... значения, заданные по умолчанию ... 
   }, 
   options || {} );
 ...
}
$.grep(массив, функция, invert)

Возвращает: массив.

Отыскивает элементы, удовлетворяющие фильтру, заданному функцией. Исходный массив не меняется. Если invert установлен в true, возвращаются элементы, не удовлетворяющие фильтру.

$.makeArray(объект)

Возвращает: массив.

Превращает все в массив.

$.map(массив, функция)

Возвращает: массив.

Переводит все элементы массива в другой массив элементов.

$.inArray(значение, массив)

Возвращает: число.

Определяет индекс первого аргумента в массиве (если возвращается -1, то значение не найдено).

$.merge(first, second)

Возвращает: массив.

Объединяет два массива.

$.unique(массив)

Возвращает: массив.

Удаляет дубликаты из массива элементов (метод работает только с массивами элементов DOM).

$.parseJSON(json)

Возвращает: объект.

Принимает json-строку и возвращает JavaScript-объект.

Операции проверки

$.isArray(объект)

Возвращает: логическое значение.

Определяет, является ли переданный объект массивом.

$.isFunction(объект)

Возвращает: логическое значение.

Определяет, является ли переданный объект функцией.

$.isEmptyObject()

Возвращает: логическое значение.

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

Операции со строками

$.trim(строка)

Возвращает: строку.

Удаляет пробельные символы с начала и конца строки.