Выразительный JavaScript - [8]
>alert("С добрым утром!");
Диалог alert
Выполнение функции называют вызовом. Вы можете вызвать функцию, записав скобки после выражения, которое возвращает значение функции. Обычно вы напрямую используете имя функции в качестве выражения. Величины, которые можно написать внутри скобок, передаются программному коду внутри функции. В примере, функция >alert
использует данную ей строку для показа в диалоговом окне. Величины, передаваемые функциям, называются аргументами функций. Функция >alert
требует один аргумент, но другие могут требовать разное количество аргументов разных типов.
Функция console.log
Функция >alert
может использоваться как средство вывода при экспериментах, но закрывать каждый раз это окно вам скоро надоест. В прошлых примерах мы использовали функцию >console.log
для вывода значений. Большинство систем JavaScript (включая все современные браузеры и Node.js) предоставляют функцию >console.log
, которая выводит величины на какое-либо устройство вывода. В браузерах это консоль JavaScript. Эта часть браузера обычно скрыта – большинство браузеров показывают её по нажатию F12, или Command-Option-I на Маке. Если это не сработало, поищите в меню “web console” или “developer tools”.
В примерах этой книги результаты вывода показаны в комментариях:
>var x = 30;
>console.log("the value of x is", x);
>// → the value of x is 30
Хотя в именах переменных нельзя использовать точку – она, очевидно, содержится в названии >console.log
. Это оттого, что >console.log
– не простая переменная. Это выражение, возвращающее свойство >log
переменной >console
. Мы поговорим об этом в главе 4.
Возвращаемые значения
Показ диалогового окна или вывод текста на экран – это побочный эффект. Множество функций полезны оттого, что они производят эти эффекты. Функции также могут производить значения, и в этом случае им не нужен побочный эффект для того, чтобы быть полезной. К примеру, функция >Math.max
принимает любое количество переменных и возвращает значение самой большой:
>console.log(Math.max(2, 4));
>// → 4
Когда функция производит значение, говорят, что она возвращает значение. Всё, что производит значение – это выражение, то есть вызовы функций можно использовать внутри сложных выражений. К примеру, возвращаемое функцией >Math.min
(противоположность Math.max) значение используется как один из аргументов оператора сложения:
>console.log(Math.min(2, 4) + 100);
>// → 102
В следующей главе описано, как писать собственные функции.
prompt и confirm
Окружение браузера содержит другие функции, кроме >alert
, которые показывают всплывающие окна. Можно вызвать окно с вопросом и кнопками OK/Cancel при помощи функции >confirm
. Она возвращает булевское значение – >true
, если нажато OK, и >false
, если нажато Cancel.
>confirm("Ну что, поехали?");
Функцию >prompt
можно использовать, чтобы задать открытый вопрос. Первый аргумент – вопрос, второй – текст, с которого пользователь начинает. В диалоговое окно можно вписать строку текста, и функция вернёт его в виде строки.
>prompt("Расскажи мне всё, что знаешь.", "...");
Эти функции нечасто используют, потому что нельзя изменять внешний вид этих окон — но они могут пригодиться для экспериментальных программ.
Управление порядком выполнения программы
Когда в программе больше одной инструкции, они выполняются сверху вниз. В этом примере у программы две инструкции. Первая спрашивает число, вторая, выполняемая следом, показывает его квадрат.
>var theNumber = Number(prompt("Выбери число", ""));
>alert("Твоё число – квадратный корень из " + theNumber * theNumber);
Функция >Number
преобразовывает величину в число. Нам это нужно, потому что >prompt
возвращает строку. Есть сходные функции >String
и >Boolean
, преобразующие величины в соответствующие типы.
Простая схема прямого порядка исполнения программы:
Условное выполнение
Выполнять инструкции по порядку – не единственная возможность. В качестве альтернативы существует условное выполнение, где мы выбираем из двух возможных путей, основываясь на булевской величине:
Условное выполнение записывается при помощи ключевого слова >if
. В простом случае нам нужно, чтобы некий код был выполнен, только если выполняется некое условие. К примеру, в предыдущей программе мы можем считать квадрат, только если было введено именно число.
>var theNumber = prompt("Выбери число ", "");
>if (!isNaN(theNumber))
> alert("Твоё число – квадратный корень из " + theNumber * theNumber);
Теперь, введя «сыр», вы не получите вывод.
Ключевое слово >if
выполняет или пропускает инструкцию, в зависимости от значения булевого выражения. Это выражение записывается после >if
в скобках, и за ним идёт нужная инструкция.
Функция >isNaN
– стандартная функция JavaScript, которая возвращает >true
, только если её аргумент – >NaN
(не число). Функция >Number
возвращает >NaN
, если задать ей строку, которая не представляет собой допустимое число. В результате, условие звучит так: «выполнить, если только >theNumber
не является не-числом».
Часто нужно написать код не только для случая, когда выражение истинно, но и для случая, когда оно ложно. Путь с вариантами – это вторая стрелочка диаграммы. Ключевое слово
![Игродром. Что нужно знать о видеоиграх и игровой культуре](/storage/book-covers/08/0816bc7c44337b4fc93ea335b87e125a470e91f5.jpg)
Жизнь современного человека плотно связана с видеоиграми. Даже если вы не играете сами, в вашем окружении наверняка найдутся заядлые геймеры, а новости из индустрии игр зачастую не обходят и вас стороной. Это положение дел приводит к вопросам: а что же такое видеоигры и какое место они занимают в жизни человека? Поиском ответов на них занимается дисциплина game studies. Александр Ветушинский – один из ведущих российских представителей этого направления исследований. Его книга «Игродром» – философское осмысление этапов развития игровой индустрии, анализ.
![Обработка баз данных на Visual Basic.NET](/storage/book-covers/87/87af4d75eb4b1e6d5504a783e699baf32f5b5a23.jpg)
Это практическое руководство разработчика программного обеспечения на Visual Basic .NET и ADO.NET, предназначенное для создания приложений баз данных на основе WinForms, Web-форм и Web-служб. В книге описываются практические способы решения задач доступа к данным, с которыми сталкиваются разработчики на Visual Basic .NET в своей повседневной деятельности. Книга начинается с основных сведений о создании баз данных, использовании языка структурированных запросов SQL и системы управления базами данных Microsoft SQL Server 2000.
![Неизведанная территория. Как «большие данные» помогают раскрывать тайны прошлого и предсказывать будущее нашей культуры](/storage/book-covers/43/43ab8373b14dc410851c1e44f843abbdaccf6af3.jpg)
Насколько велики на самом деле «большие данные» – огромные массивы информации, о которых так много говорят в последнее время? Вот наглядный пример: если выписать в линейку все цифры 0 и 1, из которых состоит один терабайт информации (вполне обычная емкость для современного жесткого диска), то цепочка цифр окажется в 50 раз длиннее, чем расстояние от Земли до Сатурна! И тем не менее, на «большие данные» вполне можно взглянуть в человеческом измерении. Эрец Эйден и Жан-Батист Мишель – лингвисты и компьютерные гении, создатели сервиса Google Ngram Viewer и термина «культуромика», показывают, каким образом анализ «больших данных» помогает исследовать трудные проблемы языка, культуры и истории.
![Справка по SQL](/build/oblozhka.dc6e36b8.jpg)
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
![MySQL: руководство профессионала](/build/oblozhka.dc6e36b8.jpg)
Это не совсем книга. Просто по ходу работы и изучения пакета у меня накопилось немало заметок, которые я в конце концов собрал воедино и опубликовал с оглавлением и под единым названием. Данные заметки относятся к версиям 4 и 5 пакета MySQL. По ходу текста особо отмечены места, относящиеся к специфической версии пакета.
![Руководство администратора баз данных Informix.](/build/oblozhka.dc6e36b8.jpg)
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.