js .1

js .1


продолжение https://telegra.ph/js-2-07-21

5. Основы JavaScript

1.Из верстальщиков в разработчики: первый скрипт на вашей странице

2.Код скрипта внутри HTML-документа и в JS-файле

3.Корневой объект и методы вывода данных

4.Содержимое объектов. Консоль разработчика

5.Методы и свойства

6.Числа и арифметические операторы

7.Строки и их пограничные символы

8.Конкатенация: сложение строк и чисел

9.Значения true и false. Операторы сравнения

10.Переменные

11.Диалог prompt() и особое значение null

12.Приведение строки к числу и наоборот

13.Значение NaN и метод isNaN()

14.Условие if

15.Условие if else

16.Условие if — else if — else

17.Работа многоуровневой условной конструкции




Код скрипта внутри HTML-документа и в JS-файле

Вы уже подключали CSS-код к HTML-файлу. Пришло время JavaScript.

Код на JavaScript можно писать:

  • внутри тегов <script></script>, которые мы рекомендуем помещать прямо перед закрывающим </body>,
  • в отдельном файле, ссылаясь на него в HTML-документе конструкцией
Скопировать код
HTML
<script src="путь к файлу"></script>

Очень похоже на подключение CSS, но нужно запомнить, что:

  1. Тегу <script> всегда нужен закрывающий </script>, в отличие от <link>.
  2. Путь к JavaScript-файлу задаётся атрибутом src (как с картинками), а не href (как с гиперссылками).

Перейти к заданию

Корневой объект и методы вывода данных

Написав alert(), вы скомандовали браузеру вывести системное окно с текстом, заданным в скобках. Разберёмся, как это работает.

JavaScript знает всё о браузере и может управлять всеми его объектами. На текущий момент считайте объект ящиком со множеством разных инструментов. Позже мы уточним это понятие.

Корневой, самый старший, объект браузера — его окно. JavaScript называет его window (англ. window, «окно»), и в этом window держит разные свои инструменты.

Вот те из них, которые показывают пользователю определённый текст:

window.alert() — инструмент, выводящий текст в системное сообщение (англ. alert, «оповещение»);

window.console.log() — достает из окна вложенный объект console, в котором лежит инструмент log(), выводящий текст в консоли разработчика (англ. console, «пульт управления» и log, «регистрировать»);

window.document.write() — достает из окна вложенный объект document (это открытый в браузере HTML-документ), в котором лежит инструмент write(), добавляющий текст в тело документа (англ. write, «писать»).

image


Важно!

  • Названия размещённых в объектах инструментов и вложенных объектов отбиваются точкой.
  • Название корневого объекта window обычно не пишут, поскольку браузеру и так ясно, что всё вложено в window.

Перейти к заданию

Содержимое объектов. Консоль разработчика

В window вложены ключевые объекты браузера — document, console — и множество других. Например, объект Math — встроенная в браузер математика. Видеть всё это богатство позволяет консоль, верный друг разработчика.

Она всегда покажет, какие инструменты лежат внутри каждого объекта. Чтобы найти консоль в браузере, достаточно кликнуть по окну просмотра правой кнопкой мыши, выбрать «Исследовать элемент», и в открывшейся панели — вкладку Console. А в нашем тренажере консоль уже открыта. Это нижняя часть правого окна.

Все вложенные объекты и инструменты вызываются, когда записаны через точку от своего родительского объекта. Например, для инструмента log() из объекта console это выглядит так:

Скопировать код
JAVASCRIPT
console.log();

Содержимое объекта window выводится в консоли командой console.log(window). В числе прочего можно видеть, что там действительно присутствуют инструмент alert() и вложенные объекты consoledocumentMath.

Команда console.log(console) покажет инструменты консоли, среди них log(), который вы уже используете.

А вызов console.log(document) покажет HTML-код вашего документа.

Мы нередко будем показывать результат выполнения программы как комментарий. Такой вспомогательный текст в JavaScript отмечается двойным слешем //. Браузер узнаёт этот символ и всё, что правее него, не воспринимает как код программы. Даже если в комментарии записан настоящий код, он не выполняется.

Например:

Скопировать код
JAVASCRIPT
console.log('Привет'); // "Привет"

Перейти к заданию

Методы и свойства

Если после имени объекта и точки идёт просто слово — это свойство объекта, полезная информация из него. Скажем, Math.PI есть значение числа π (пи), и это свойство, хранящееся в объекте по имени Math.

Если же за точкой следует слово с круглыми скобками, это метод. Так называется вложенная в объект функция — инструмент, который что-то делает с данными. Скажем, Math.random()представляет собой метод random() объекта Math. Назначение метода как инструмента обозначено в его названии. Скажем, Math.random() по специальности — генератор случайных («рандомных») чисел. Обращение к методу и вообще к любой функции называется «вызов» . Вызываем специалиста, он делает свою работу.

Свойства можно посмотреть и задействовать их значения в расчётах, а методы вызвать, запустить: как готовые методы, так и функции собственного изготовления. В этой теме по ходу изучения основных понятий языка JavaScript мы создадим функцию с кодом, который меняет цвет фона веб-страницы на другой, по вкусу пользователя. Вызов этой функции превратит нашу страницу в интерактивную.

Сначала код в диалоге с пользователем запросит значения насыщенности красного, зелёного и синего цветов, из которых сложится новый оттенок фона. Дальше скрипт перейдёт к самостоятельным действиям. Он убедится, что введённые значения лежат внутри разрешённого диапазона, и затем изменит свойство тела страницы — объекта body, вложенного в объект document.

Перейти к заданию

Числа и арифметические операторы

Код состоит из данных и операторов. Скрипту нужно: считать (производить операции), сообщать результаты (говорят “возвращать значения”), принимать решения (производить логические операции) и выводить информацию. На эти случаи в JavaScript существуют разные типы данных; прежде всего нужны числастроки и логические значения. С числами работают арифметические операторы:

  • + оператор прибавления 12 + 13 
  • - оператор вычитания 44 - 4
  • / оператор деления 57 / 3

При делении на ноль получается особое значение Infinity. Это бесконечность, по определению больше любого числа, с которым может работать JavaScript. Деление 0 / 0 даёт удивительное число NaN (от англ. Not a Number, «не число»), неравное ничему, даже самому себе.

  • * оператор умножения 19 * 3

Когда в одной строчке кода несколько операторов, то операторы * и / выполняются первыми, поскольку имеют приоритет выше, чем - и + :

Скопировать код
JAVASCRIPT
console.log(24 / 24 - 12);
  • () оператор группировки — объединяет не только числа, но любые значения, с которыми нужно совершить какое-нибудь общее действие. Оператор группировки имеет высший приоритет:
Скопировать код
JAVASCRIPT
console.log(24 / (24 - 12)); // 2
  • ** оператор возведения в степень. Основание (слева) умножается на себя число раз, равное степени (справа):
Скопировать код
JAVASCRIPT
console.log(2 ** 4); // 16
  • % оператор взятия остатка, или modulo. Возвращает не проценты и не модуль, а остаток от деления левого числа на правое. Полезен для выявления целых чисел (в отличие от десятичных дробей, они делятся на 1 с нулевым остатком).
Скопировать код
JAVASCRIPT
console.log(5 % 1); // 0

Важно!

  1. Принято каждую строку кода с оператором завершать условным знаком ; При выполнении кода JavaScript «мысленно» ставит точку с запятой на конце строки, и писать этот символ необязательно. Но привычка к нему полезна: в длинной программе несколько операций могут оказаться на одной строчке. Тогда точки с запятой разграничат их, оберегая код от ошибки.
  2. То, с чем работают операторы — число, строка и т.п. — называется словом «операнд». Говорят «левый операнд» и «правый операнд».

Перейти к заданию

Строки и их пограничные символы

Если скрипт выводит информацию для пользователя, тексты сообщений обычно относятся к типу данных, который в JS называют строками. Любой набор символов становится строкой, когда ограничен с двух сторон кавычками " ", апострофами ' 'или грависами ``.

В строку могут войти буквы, цифры и любые символы, которые закодированы по принятому в интернете стандарту ЮНИКОД:

Скопировать код
JAVASCRIPT
"слово"; '120Å'; `ᛝᛛᛄᛢ`; '🌑🌓🌕🌙';

Для пограничных символов важно соблюдать два правила:

  1. строку начинают и оканчивают одинаковые символы: "текст строки"; но ни в коем случае не 'текст строки";
  2. если строка содержит кавычки или апострофы, проще всего выбрать другие пограничные символы. Иначе в строку войдёт не всё. Например, правильно вот так:
Скопировать код
JAVASCRIPT
"Республика Кот-д'Ивуар"; 
'Никогда не говори "никогда" — можешь ошибиться.';
`"Мои поздравления, г-н Бонасье!" — подумал д'Артаньян не без зависти.`;

Самые широкие возможности дают грависы `(обычно вводятся дальней левой клавишей). Они реже всего встречаются в текстах, и не только превращают в строки все символы без разбора, но и объединяют в одну строку символы на нескольких строчках. Очень удобно для вывода стихов, указателей и пиктограмм:

Скопировать код
JAVASCRIPT
console.log(`ЗЕЛЕНОГРАД 23
ТВЕРЬ 132
С.-ПЕТЕРБУРГ 679`);

// ЗЕЛЕНОГРАД 23
// ТВЕРЬ 132
// С.-ПЕТЕРБУРГ 679

Перейти к заданию

Конкатенация: сложение строк и чисел

Едва ряд символов оказывается в кавычках/апострофах/грависах, он становится строкой, с которой JavaScript может работать. Когда строка написана в коде сразу вся целиком, это литерал(англ. literal, «буквальный»).

Литералами выводятся сообщения с заранее известным содержанием. Например, информация об ошибках.

Но чаще нужен текст, который нам поначалу неизвестен. Обычно строка собирается из исходного литерала и результатов преобразования каких-либо данных.

Сборку осуществляет оператор прибавления. Он складывает строки:

Скопировать код
JAVASCRIPT
console.log('вино' + 'град');     // "виноград"

Такое сложение разработчики называют словом конкатенация (по-латыни «сковывание в одну цепь»). Это не арифметическое действие, а сцепление символов строки и той сущности, с которой строка соединяется.

При сложении строки с числом получается строка:

код 100 + 500; вернёт число 600

Скопировать код
JAVASCRIPT
console.log(100 + 500);     // 600

но 100 + "500"; вернёт строку "100500":

Скопировать код
JAVASCRIPT
console.log(100 + "500");     // "100500"

Перейти к заданию

Значения true и false. Операторы сравнения

В логических вычислениях возможны два ответа: true (утверждение истинно) либо false (утверждение ложно).

Самая простая логическая операция — сравнение. Его возможные варианты в JavaScript производят 8 операторов.

Операторы «больше» > и «меньше» <одинаковы почти во всех языках программирования.

Скопировать код
JAVASCRIPT
console.log(7 > 6); // true

Выражение истинно, число 7 больше 6. Оператор сравнения > вернул свою оценку этого выражения — значение true.

Скопировать код
JAVASCRIPT
console.log(7 < 6); // false

Оператор сравнения < вернул значение false: 7 не меньше 6.

Оператор «больше либо равно» в JavaScript выглядит как >= , а «меньше либо равно» <= .

Равенство проверяется операторами «практически равно» == и «идентично» ===:

Скопировать код
JAVASCRIPT
console.log('7' == 7); // true

Cравнение строки "7" и числа 7 возвращает true, потому что эти значения практически равны: там и там семёрка. Но строгое сравнение "7" и 7 вернёт false. Всё же эти значения разных типов, строка не идентична числу:

Скопировать код
JAVASCRIPT
console.log('7' === 7); // false

То есть, оператор проверки на идентичность ===напоминает бюрократа, которому важно правильное оформление бумаг. А оператор проверки на равенство == «свой человек, всё понимает». На практике бывают нужны оба.

В логической алгебре восклицательный знак !означает отрицание. Отсюда ещё два оператора: «не равно» != и «не идентично» !==

Важно!

В 1686 году немецкий математик Готфрид Лейбниц провозгласил, что в логике любое утверждение либо правда, либо ложь, а третьего не дано. Распознать можно так: всё существующее (Лейбниц говорил «вещи») — это истина, а всё, чего нет («не-вещи») — ложь. Поскольку ноль — это когда ничего нет, значение «ложь» стало логическим нулём.

Браузер думает в двоичной системе счисления, где «ложь» соответствует нулю, «истина» единице. В 1847 году британский математик Джордж Буль стал решать логические задачи уравнениями, обозначив логическую единицу словом true (англ. «истинный»), а логический ноль словом false(«ложный»). Такая алгебра в честь Буля называется булева алгебра, а особый тип данных, включающий значения true и false — булевы значения.

Вот, к примеру, выражения на языке JavaScript, значение которых равно true:

Скопировать код
JAVASCRIPT
true == 1;
false == 0;
true != false;

true практически равно единице; false практически равно нулю; true не равно false.

Перейти к заданию

Переменные

Настоящее программирование начинается с переменных, запоминающих результаты промежуточных действий. Это позволяет писать многострочный код. У переменной есть имя и значение, закреплённое за этим именем.

Сначала переменную объявляют, то есть ставят JavaScript в известность о том, что данное имя принадлежит переменной. Делается это определёнными ключевыми словами. Например, var (от англ. variable — «переменный, изменяемый»):

Скопировать код
JAVASCRIPT
var champion;

Такое выражение означает, что объявлена переменная по имени champion. Можно, конечно, давать переменным знакомые по алгебре имена abc, но лучше — такие, чтобы из имени было понятно, что за данные хранит в себе переменная. Имена рекомендуется давать английские, а если они состоят из нескольких слов, использовать camelCase (англ. camel case, «верблюжья запись»). Так называют способ записи названий из нескольких слов, в котором второе, третье и далее начинаются с заглавных букв: они возвышаются среди слова, как горбы на спине верблюда.

Скопировать код
JAVASCRIPT
var championOfTheWorld; // англ. champion of the world, «чемпион мира»

Одним ключевым словом можно объявить сразу несколько переменных:

Скопировать код
JAVASCRIPT
var championOfTheWorld, championOfEurope, olympicChampion;
// англ. champion of the world, «чемпион мира», champion of Europe,  «чемпион Европы», англ. olympic champion, «олимпийский чемпион»
image


Переменную можно сравнить с коробкой, в которой хранится значение. На коробке есть этикетка. Это имя переменной. Объявление, или инициализация переменной — это создание такого хранилища с именем. А значение можно присвоить и там, где объявлена переменная, и в любой другой строчке кода позже:

Скопировать код
JAVASCRIPT
var olympicChampion = 'Великобритания';
olympicChampion = 'Бразилия';
console.log(olympicChampion); // Бразилия

Старое значение из переменной пропадает: чемпион бывает только один.

Необязательно присваивать переменной точное значение; можно указать выражение, в котором это значение вычисляется. Тогда в переменной сохраняется результат расчёта:

Скопировать код
JAVASCRIPT
var twoByTwo = 2 * 2;  // англ. two by two, «дважды два»
console.log(twoByTwo); // 4

Переменные можно задействовать и в арифметических операциях, и в сравнении, и в конкатенации, что весьма удобно для вывода результатов вычисления с пояснениями:

Скопировать код
JAVASCRIPT
var fahrenheit = 451,
    celsius = (fahrenheit - 32) / 1.8;

console.log(fahrenheit + ' градуса по Фаренгейту — это ' + celsius + ' градуса по Цельсию.');
// «451 градуса по Фаренгейту — это 232.77777777777777 градуса по Цельсию.»

Интересно:

Если переменную нужно поделить, умножить или изменить на известное число, а затем перезаписать новое значение в эту же переменную, есть две формы записи:

Скопировать код
JAVASCRIPT
// вариант 1
var year = 365; // объявлена переменная year, англ. «год»; раз в 4 года дней на 1 больше
year = year + 1; // 366 
// Слева переменная, которой нужно присвоить значение. Это значение (366) можно получить, посчитав выражение справа от оператора присваивания.

// вариант 2
var year = 365;
year += 1; // 366
// Этот код делает то же самое: прибавляет 1 к значению переменной year и новое значение 366 записывает в эту же переменную.

+= — оператор добавочного присваивания, или присваивания со сложением. В JavaScript есть аналогичные операторы для других арифметических действий:

ОПЕРАТОРНАЗВАНИЕПРИМЕР  +=Присваивание со сложениемvar musketeer = 3; musketeer += 1; // 4-=Присваивание с вычитаниемvar spartans = 300; spartans -= 300; // 0*=Присваивание с умножениемvar parrotsNumber = 2; parrotsNumber *= 19; // 38/=Присваивание с делениемvar volume = 1024; volume /= 2; // 512



Перейти к заданию

Диалог prompt() и особое значение null

При вызове метода и вообще функции мы обычно указываем в круглых скобках те данные, которые надо преобразовать. Это называется «функция принимает параметры» или «принимает аргументы», а мы ей эти параметры/аргументы «передаём».

Например, ваш основной (на первых порах) инструмент для диалога с пользователем — метод prompt(). Его название, prompt, в переводе с английского означает «подсказка». Эта функция принимает в качестве аргумента фразу, которой вы просите пользователя что-нибудь ввести:

Скопировать код
JAVASCRIPT
var catName = prompt('Как зовут вашу кошку?');

Ваш вопрос появляется как сообщение модального окна, в котором пользователь введёт свой ответ. Если пользователь просто нажмёт кнопку ОК, в переменной catName сохранится пустая строка. А если пользователь не настроен на диалог и нажимает кнопку Отмена, сохраняется особое значение null (англ. null, «не существующий»). Это отдельный тип данных — не число, не строка и не булево значение. null свидетельствует, что кошку не звать никак. И ей не забыли дать имя, а сознательно решили его не давать: null — это определённый выбор, но выбор «против всех».

Функция prompt() обучена светским манерам. Она умеет задавать вопросы с намёком на ответ, который она ожидает от вас услышать. Для этого у неё есть второй аргумент — значение по умолчанию, подсказка в поле ввода. Подсказка возвращается как ответ, если пользователь ничего не пишет и просто нажимает кнопку ОК. По этой подсказке функция и названа словом prompt. Синтаксис употребления второго аргумента:

Скопировать код
JAVASCRIPT
prompt('вопрос пользователю', 'ожидаемый ответ');
prompt('Ваш возраст', 45)

Так, осведомляясь у пользователя о пароле, который он желает установить, мы вторым аргументом приведём свой вариант — слово "qwerty". Если пользователь не придумает что-нибудь более оригинальное, его наверняка взломают:

Скопировать код
JAVASCRIPT
var password = prompt('Введите любой пароль', 'qwerty');

Перейти к заданию

Приведение к типу: из строки в число и наоборот

Когда вы ввели в окне prompt() число 255, в переменной red сохранилась строка "255". Так устроены модальные окна: они возвращают и сообщают пользователям только строки. А вам в значении переменной redтребуется число 255, потому что насыщенность цветов выражается числами. Подобные ситуации возникают сплошь и рядом: значению переменной надо сменить тип данных, не меняя само значение. Это называется приведение к типу. В данном случае нужно приведение к числу.

Приведение методами Number() и String()

Самый прямой способ — вызвать специальные методы.

Number()

преобразовывает данные в число (англ. number, «число»).

Скопировать код
JAVASCRIPT
console.log(Number(true)); // 1

String()

преобразовывает данные в строку (англ. string, «строка»). Так, код

Скопировать код
JAVASCRIPT
console.log(20 + Number('7')); // 27

вернёт число 27.

Но, внимание:

Скопировать код
JAVASCRIPT
console.log(String(19) + 69); // "1969"

Сложение числа и строки дало строку, как мы уже говорили в уроке о конкатенации.

image


Приведение унарным плюсом

Если плюс стоит перед строкой, то он не складывает операнды, а вместо этого приводит строку к числу. Такой оператор называется «унарный плюс». Например, +"33" вернет число 33+"-77" вернет число -77. Оказываясь рядом, оператор прибавления + и унарный плюс + не мешают друг другу:

Скопировать код
JAVASCRIPT
console.log(67 + +'33'); // 100

Перейти к заданию

Значение NaN и метод isNaN()

NaN

Если попробовать привести к числу строку, содержащую не только цифры, возвращается уже знакомое нам значение NaN — как при делении 0 / 0.

Скопировать код
JAVASCRIPT
console.log(+'Олег'); // NaN
Скопировать код
JAVASCRIPT
alert(Number('20°'));    // NaN

По типу данных NaN (сокр. англ. Not a Number, «не число») относится к числам, но это число не равно ничему, даже самому себе.

Скопировать код
JAVASCRIPT
console.log(NaN == NaN); // false

Метод isNaN()

Из-за того, что число NaN не равно самому себе, нельзя проверить напрямую, оказался ли результат выполнения какого-нибудь метода не числом. То есть,

Скопировать код
JAVASCRIPT
console.log(Number('Привет') === NaN);

всегда будет возвращать false, хотя по обе стороны от оператора сравнения помещается NaN.

Для решения этой проблемы создан метод isNaN() (сокр. англ. is not a number, «не является числом»). Ему передают как параметр какое-нибудь выражение, а isNaN() отвечает значением true или false на вопрос: «правда ли, что этот параметр — не число?»

Скопировать код
JAVASCRIPT
isNaN(Number('Привет'));

будет возвращать true (ещё бы, 'Привет' — никакое не число), а

Скопировать код
JAVASCRIPT
isNaN(+'25');

вернёт false. Ведь после обработки унарным плюсом строка '25' стала числом. Берите isNaN() на вооружение: когда цифры перебрасывают из чисел в строки и назад, без этого метода ваш скрипт не разберётся, что происходит.

Перейти к заданию

Условие if

Простейшая условная конструкциязапускает код, если условие, на которое она настроена, имеет значение true. Объявляется она ключевым словом if(англ. if, «если»). Синтаксис конструкции if:

Скопировать код
JAVASCRIPT
if (условие) {    
  <тело if>
}

Тело — это код, который запускается, когда значение условия равно true. Пример: условная конструкция выводит в консоли весёлый смайлик, если значение переменной merry (англ. merry, «весёлый») равно true.

Скопировать код
JAVASCRIPT
var merry = true;     
if (merry) {    
  console.log('😃');
}

Код тела заключён в фигурные, или программные, скобки. После этих скобок точки с запятой не нужны. Места для них — как обычно, после строчек самого кода.

Интересно

Размер отступа для выражений в теле и место расположения программных скобок { } издавна предмет спора. Для JavaScript эти детали не имеют никакого значения. Но программисты по-разному представляют себе самый удобочитаемый стиль. Как известно, стилистические разногласия острей политических.

Чаще всего встречается самый старый стиль, ещё 1970-х годов — K&R или «египетский» (стиль Кернигана и Ритчи, авторов книги «Язык программирования Си»):

Скопировать код
JAVASCRIPT
if (условие) { 
  <тело>
}

Основной отступ для тела составляет 2 или 4 пробела. «Египетским» этот стиль называют по внешнему сходству блока с древнеегипетским иероглифом «танец». Условие — голова танцора, открывающая программная скобка вверху справа, как кисть его левой руки. Тело цикла, как и тело танцора, начинается под головой и не у самого левого края, а с определённым отступом. Закрывающая программная скобка, как стопа правой ноги танцора, расположена у левого края всего блока. Этого стиля мы будем придерживаться в нашем тренажёре здесь и далее.

Перейти к заданию

Условие if else

Условная конструкция с одним if может реагировать, только если её условие имеет значение true. Но иногда, в том числе в нашей программе, нужна реакция и на случай, когда условие ложно.

Код, который запускается «во всех случаях, кроме», объявляют ключевым словом else (англ. else, «кроме»). Вот скрипт, который выводит весёлый смайлик, когда merry имеет значение true. Во всех иных случаях выводится смайлик с нейтральным лицом.

Скопировать код
JAVASCRIPT
var merry = false;
if (merry) { 
  console.log('😃'); 
} else { 
  console.log('😐'); 
}
// 😐

Интересно

  1. «Египетский стиль» подразумевает, что ключевое слово else стоит сразу после закрывающей фигурной скобкой тела if, а фигурные скобки тела else размещены так же, как у конструкции if.
  2. Необязательно выписывать true или false, задавая значения переменной merry. Проверка после слов if и else подразумевает, что в круглых скобках логическая операция, и оказавшиеся там значения приводятся к булевым. Вместо merry = false можно указать merry = 0, а выражение merry = true в принципе можно заменить на merry = 1 или, скажем, merry = 25 (правда, такие приколы могут сбить с толку других разработчиков, читающих ваш код).
image


Перейти к заданию

Условие if — else if — else

Если вы не веселитесь, то не всегда ходите с нейтральным лицом. Временами возможны иные эмоции. На случаи, не подходящие ни под if, ни под все остальные else, в JavaScript существует конструкция else if.

Её синтаксис аналогичен правилам для if, а её место — между телом if и телом else. Например, в этом скрипте код else ifисполняется, когда новая переменная surprise(«удивление») имеет значение true.

Скопировать код
JAVASCRIPT
var merry = false;
var surprise = true;

if (merry) {
  console.log('😃');
} else if (surprise) {
  console.log('😲');
} else {
  console.log('😐');
}
// 😲
image


Перейти к заданию

Работа многоуровневой условной конструкции

В многоэтажной конструкции самые важные условия должны помещаться выше, а главным остаётся первое, при ключевом слове if.

Пример: когда переменная merry в условии при if получает значение true, выполняется только код тела if. Прочие условия игнорируются, даже когда их переменные тоже имеют значения true.

Скопировать код
JAVASCRIPT
var merry = true;
var sad = true; // англ. sad, «печальный»
var surprise = true;

if (merry) {
  console.log('😃');
} else if (sad) {
  console.log('😢');
} else if (surprise) {
  console.log('😲');
} else {
  console.log('😐');
}
// 😃

Перейти к заданию



Report Page