Имеется массив JavaScript, некоторые элементы которого являются функциями. Требуется отыскать эти элементы.
Решение
Для решения задачи подойдет вспомогательная функция $.isFunction(obj) (листинг 10.1.10).
Листинг1 0 .1 .1 0 . Использование вспомога те л ьной ф унк ции $.isFunction()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru"> <head> <title>example-10-1-10</title> <content> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="js/jquery-1.5.2.min.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { function stub() { } var objs = [ null, function () {}, { x:15, y:20 }, stub, "function" ]; $.each(objs, function (i) { var isFunc = jQuery.isFunction(objs[i]); $("span").eq(i).text(isFunc); }); }); </script> </head> <body> $.isFunction(objs[0]): <span></span> $.isFunction(objs[1]): <span></span> $.isFunction(objs[2]): <span></span> $.isFunction(objs[3]): <span></span> $.isFunction(objs[4]): <span></span> </body> </html> |
Обсуждение
HTML-разметка из листинга 10.1.10 — это несколько элементов div с вложенными в них элементами span. Разметка служит исключительно в демонстрационных целях — в элементы span мы будем вставлять результаты.
Подробнее рассмотрим JavaScript-код. Массив objs — это "подопытный" элемент. Самостоятельно рассмотрите каждый элемент массива.
Для обхода массива objs вызовем вспомогательную функцию $.each(), в которую первым аргументом передадим массив obj, а вторым — функцию, применяемую к каждому элементу массива.
Проверяем каждый элемент массива, передавая его вспомогательной функции
$.isFunction(). Результат проверки вставляем в соответствующий элемент span.
Во второй и четвертый элементы span будет вставлено значение true — значит, эти элементы массива являются функциями.
Источник: Самков Г. А. jQuery. Сборник рецептов. — 2-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2011. — 416 с.: ил. + CD-ROM — (Профессиональное программирование)
Похожие посты:
- Чередование фонового цвета столбцов таблицы (0)
- Группировка связанных полей формы (0)
- Что делать, если CSS не работает (0)
- Отображение строкового элемента как блочного, и наоборот (0)
- Как расположить логотип сайта слева, а слоган – справа (0)
- Обертывание функций представления (0)
- Специальные символы. Разбиение сообщения в диалоговом окне на несколько строк (0)