Выразительный JavaScript (Хавербеке) - страница 15

для вывода значений. Большинство систем 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("Расскажи мне всё, что знаешь.", "...");



Эти функции нечасто используют, потому что нельзя изменять внешний вид этих окон — но они могут пригодиться для экспериментальных программ.

Управление порядком выполнения программы

Когда в программе больше одной инструкции, они выполняются сверху вниз. В этом примере у программы две инструкции. Первая спрашивает число, вторая, выполняемая следом, показывает его квадрат.