Скрипт задает вопрос пользователю
Методу prompt требуются два аргумента — текст надписи, сопровождающей
диалог (в данном случае — строковый литерал ‘в каком году вы родились)’
и значение по умолчанию (в нашем примере— литерал ‘f, соответствующий
пустой строке). Введенный пользователем год рождения заносится в
переменную birth_year.
Оператор if проверяет, истинно ли выражение birthyear
рождения, заданный пользователем, меньше 1850, возникает окно предупре-
Глава 7. Создание интерактивных сайтов при помощи языка сценариев JavaScript 347
ждения со словами «Так долго не живут!» (рис. 7.5), формируемое уже
знакомым читателю способом — применением метода alert объекта window.
Раньше мы не акцентировали на этом факте внимания и писали не window.alert, a
просто alert, что тоже вполне допустимо. Теперь же, когда читатель в общих
чертах знаком с объектно-ориентированным программированием, я решил
раскрыть карты и продемонстрировать, что чудес на свете не бывает.
Создание сценариев на JavaScript буквально насквозь пронизано объектами,
свойствами и методами.
Рис. 7.5. В случае если проверяемое условие не выполняется,
выводится соответствующее окно предупреждения
Оператор if можно расширить предложением else, предписывающим
выполнить другой оператор в случае, если проверяемое выражение ложно.
В следующем примере мы просим пользователя выбрать себе ник
(псевдоним) длиной от 5 до 10 символов. Если пользователь введет строку, не
укладывающуюся в это «прокрустово ложе», он увидит окно предупреждения со
словами «Вы ввели слишком длинный или слишком короткий ник!»; в
противном же случае в окне браузера появится приветствие, включающее
определенный посетителем ник.
рМтииг7;$. Применение условного оператора о расширенным сиртаксиоШР^^
var nick = window.prompt(‘Выберите себе ник длиной от 5 до 10
^> символов’, ‘ ‘);
348 Часть II. Применение веб-технологий стороны клиента для создания сайтов
if((nick.length 10))
{
window.alert(fВы ввели слишком длинный или слишком короткий ник!1);
}
else
{
document.write(!3дравствуйте, f + nick + !!
\nf);
}
Предложение else можно неограниченное множество раз комбинировать с
вложенным оператором if, проверяя различные условия.
г Листинг JTX Напойй^ние о том, какой день недели за окном Г w ч V ; \ *!F I
var today = new Date();
today = today.getDay();
if(today == 0)
today = ‘воскресенье1;
else if(today == 1)
today = ‘понедельник1;
else if(today = 2)
today = ‘вторник’;
else if(today == 3)
today = ‘средаf;
else if(today == 4)
today = ‘четверг’;
else if(today == 5)
today = ‘пятница’;
else if(today == 6)
today = ‘суббота’;
document.write(‘Напоминаем вам, что сегодня
^ уже ‘ + today + ‘!
\n’);
Результат работы скрипта, описанного в листинге 7.7, демонстрируется на
рис. 7.6.
Сценарий, описанный в листинге 7.7, создает объект today при помощи
конструктора класса Date, определенного в ядре JavaScript. Для объектов класса
Date описан ряд методов, позволяющих получать или переустанавливать
текущие дату и время (или отдельные их составляющие). Затем переменной с
тем же именем today (ведь незачем плодить лишние сущности) присваивается
значение, возвращаемое методом getDay теперь уже бывшего объекта today.
Этот метод возвращает числовой код текущего дня недели: 0 — воскресенье,
1 — понедельник, 2 — вторник и т. д.
Глава 7. Создание интерактивных сайтов при помощи языка сценариев JavaScript 349
ГЩщ^^^^^К|^^^Н^^^^Н
&Э&* фа»** §
1 Л-t vrfw «»^ »—~~ «~«~~»»»«~»»
Справка
О **Ф* * Й^ © ^Й (П file:///Z:/examples/07/07/.ndfjJ
| # Эдф&«*4 Ц t^sfcNi»^^^^^^^;^.
*ч
С§ Ftepeifot ||Gt
.^шШк,……._
тУиТ-Of нШ j
t>-J
• 1
Напоминаем вам, что сегодня уже пятница!
г^Чё^Д^.— :
^1
Рис. 7.6. Если вы забыли, какой на дворе день недели, скрипт вам напомнит
При помощи блока условий, содержащего несметное количество операторов
if…else if, мы преобразуем эти холодные числа в названия дней недели,
записанные по-русски.
5th Фев 2011
|
Теги:
|