- •Internet Explorer
- •Основные операторы
- •Арифметические операторы
- •Приоритет
- •Операторы сравнения и логические значения
- •Логические значения
- •Сравнение строк
- •Сравнение разных типов
- •Строгое равенство
- •Сравнение с null и undefined
- •Условные операторы: if, '?'
- •Оператор if
- •Преобразование к логическому типу
- •Неверное условие, else
- •Несколько условий, else if
- •Оператор вопросительный знак '?'
- •Несколько операторов '?'
- •Нетрадиционное использование '?'
- •Взаимодействие с пользователем: alert, prompt, confirm
- •Confirm
- •Особенности встроенных функций
Нетрадиционное использование '?'
Иногда оператор вопросительный знак '?' используют как замену if:
показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки
1 |
var company = prompt('Какая компания создала JavaScript?', ''); |
2 |
|
3 |
(company == 'Netscape') ? |
4 |
alert('Да, верно') : alert('Неправильно'); |
Работает это так: в зависимости от условия, будет выполнена либо первая, либо вторая часть после '?'.
Результат выполнения не присваивается в переменную, так что пропадёт (впрочем, alert ничего не возвращает).
Рекомендуется не использовать вопросительный знак таким образом.
Несмотря на то, что с виду такая запись короче if, она является существенно менее читаемой.
Вот, для сравнения, то же самое с if:
показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки
1 |
var company = prompt('Какая компания создала JavaScript?', ''); |
2 |
|
3 |
if (company == 'Netscape') { |
4 |
alert('Да, верно'); |
5 |
} else { |
6 |
alert('Неправильно'); |
7 |
Взаимодействие с пользователем: alert, prompt, confirm
alert
prompt
confirm
Особенности встроенных функций
Резюме
В этом разделе мы рассмотрим базовые UI операции: alert, prompt и confirm, которые позволяют работать с данными, полученными от пользователя.
alert
Синтаксис:
alert(сообщение) |
alert выводит на экран окно с сообщением и приостанавливает выполнение скрипта, пока пользователь не нажмет «ОК».
показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки
1 |
alert("Привет"); |
Окно сообщения, которое выводится, является модальным окном. Слово «модальное» означает, что посетитель не может взаимодействовать со страницей, нажимать другие кнопки и т.п., пока не разберется с окном. В данном случае - пока не нажмет на «OK».
prompt
Функция prompt принимает два аргумента:
result = prompt(title, default); |
Она выводит модальное окно с заголовком title, полем для ввода текста, заполненным строкой по умолчанию default и кнопками OK/CANCEL.
Пользователь должен либо что-то ввести и нажать OK, либо отменить ввод кликом на CANCEL или нажатием ESC на клавиатуре.
Вызов prompt возвращает то, что ввел посетитель - строку или специальное значение null, если ввод отменен.
Как и в случае с alert, окно prompt модальное.
показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки
1 |
var years = prompt('Сколько вам лет?', 100); |
2 |
|
3 |
alert('Вам ' + years + ' лет!') |
Всегда указывайте default
Вообще, второй default может отсутствовать. Однако при этом IE вставит в диалог значение по умолчанию "undefined".
Запустите этот код в IE, чтобы понять о чем речь:
показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки
1 |
var test = prompt("Тест"); |
Поэтому рекомендуется всегда указывать второй аргумент:
показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки
1 |
var test = prompt("Тест", ''); // <-- так лучше |