Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Работы по JavaScript.docx
Скачиваний:
16
Добавлен:
11.02.2015
Размер:
635 Кб
Скачать

Нетрадиционное использование '?'

Иногда оператор вопросительный знак '?' используют как замену 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

  1. alert

  2. prompt

  3. confirm

  4. Особенности встроенных функций

  5. Резюме

В этом разделе мы рассмотрим базовые 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("Тест", ''); // <-- так лучше