В программировании часто требуется подсчитать сколько раз происходит какое-нибудь событие. Для создания счётчика таких событий делают следующее:
создаётся переменная-счётчик, имя выбирается произвольно;
переменная инициализируется, то есть присваивается начальное значение;
при каждом событии счётчик увеличивается на единицу.
В примере ниже создаётся и инициализируется переменная number. При каждом нажатии на кнопку вызывается функция counter, которая увеличивает на единицу счётчик и выводит его значение в текстовое поле.
<script type="text/javascript"> var number; number = 0; function counter(){ number = number + 1; document.getElementById('output').value = number; } </script> <input type="button" value="Нажимайте" onClick="counter()"> Количество нажатий: <input id="output" type="text" size="5">
Код в действии
Количество нажатий:
Такой счётчик удобно использовать для перебора элементов массива.
Задание 2
Разместите на странице кнопку «Показать следующий элемент» и текстовое поле ввода.
По каждому щелчку на кнопке должен выводиться очередной элемент массива «месяцы».
Внешний вид
Иногда при достижении определённого значения счётчика (порога) требуется совершить какое-то действие. Это делают следующим образом. При каждом увеличении счётчика сравнивается его значение с заданным порогом. Если он достиг его, то выполняется нужное действие. Ниже показана функция counter из предыдущего примера, в которой добавлена проверка достижения первого десятка нажатий. При этом событии выводится окно сообщения.
function counter(){ number = number + 1; document.getElementById('output').value = number; if(number == 10){ window.alert('Десяток!'); } }
Код в действии
Количество нажатий:
Такую проверку удобно использовать для обнаружения конца массива. Дело в том, что при использовании массивов программисту приходится следить, чтобы номер элемента массива не превышал максимального номера. Например, в массиве «сезон» всего 4 элемента и последний имеет номер 3. Если мы обратимся к пятому элементу, то получим значение undefined (англ. неопределённый).
Задание 3
Доработайте скрипт из предыдущего задания так, чтобы при достижении последнего элемента массива «месяцы» последующие щелчки выводили слово «Конец».
Массивы часто используются для того, чтобы упорядочить, пронумеровать данные. Дело в том, что вычислительная машина хорошо «понимает» числа, а человек — слова. Так, в примере ниже дни недели занесены в массив, чтобы по номеру дня вызывать его название и отображать на экране. Номер дня получают с помощью метода getDay объекта Date.
<script> день = new Array; день[0]='воскресенье'; день[1]='понедельник'; день[2]='вторник'; день[3]='среда'; день[4]='четверг'; день[5]='пятница'; день[6]='суббота'; сейчас = new Date(); document.write('Сегодня ' + день[сейчас.getDay()]); </script>
Код в действии Сегодня четверг
Задание 4
Доработайте скрипт из предыдущего задания так, чтобы месяц отображался не числом, а своим названием в родительном падеже.
Задание 5
Скопируйте на свою страницу приведённый ниже код игрушки «Угадай телеканал», проверьте её работу. Проанализируйте код и измените названия телеканалов на те, которые вы знаете.
Пример кода
<SCRIPT> телеканал=new Array(); телеканал[0]="ОРТ"; телеканал[1]="РТР"; телеканал[2]="ТВЦ"; телеканал[3]="НТВ"; телеканал[4]="ТВ6"; случай=0; function picktv(){ дата=new Date() случай=(дата.getSeconds())%5 } function whichtv(){ picktv(); предположение=" "; while (телеканал[случай] != предположение.toUpperCase()){ предположение=prompt("Угадайте мой любимый телеканал: ОРТ, РТР, ТВЦ, НТВ или ТВ6?"); if (предположение.toUpperCase() == телеканал[случай]){ alert("Это мой любимый телеканал!") }else{ alert("Нет, попробуйте ещё раз.") } } } </SCRIPT> <INPUT TYPE="button" VALUE="Угадайте" onclick="whichtv()">