<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Андрей Малышев</title><author><name>Андрей Малышев</name></author><id>https://teletype.in/atom/malyshev147</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/malyshev147?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@malyshev147?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=malyshev147"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/malyshev147?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-05-13T23:19:02.019Z</updated><entry><id>malyshev147:UIupVtk3g</id><link rel="alternate" type="text/html" href="https://teletype.in/@malyshev147/UIupVtk3g?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=malyshev147"></link><title>Циклы без заданного количества итераций в JavaScript</title><published>2020-06-03T18:23:35.943Z</published><updated>2020-06-03T18:23:35.943Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/de/04/de041a07-ec1c-4595-affe-2146f50fc9eb.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/14/60/1460f037-2a21-4830-94d8-de995ccbe5ce.jpeg&quot;&gt;Есть задачи, в которых количество итераций цикла не известно заранее. К примеру: дано число, нужно делить его на 2 столько раз, пока результат не станет меньше 10. Нужно вывести число, которое при этом получится.</summary><content type="html">
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/14/60/1460f037-2a21-4830-94d8-de995ccbe5ce.jpeg&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Есть задачи, в которых количество итераций цикла не известно заранее. К примеру: дано число, нужно делить его на 2 столько раз, пока результат не станет меньше 10. Нужно вывести число, которое при этом получится.&lt;/p&gt;
  &lt;p&gt;В этом случае мы не знаем количество итераций. Не беда - сделаем условием цикла условие пока число больше 10:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/bc/44/bc44d51b-5eef-43f6-999c-81638c3a1e47.jpeg&quot; width=&quot;658&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2&gt;&lt;br /&gt;Использования цикла for:&lt;/h2&gt;
  &lt;p&gt;Для решения задачи из начала урока можно использовать и цикл &lt;strong&gt;for&lt;/strong&gt;, но особым образом - без тела:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/58/b8/58b849d8-03b6-4cce-a38a-dbc827ad0a27.jpeg&quot; width=&quot;713&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Обратите внимание на то, что переменная &lt;strong&gt;num&lt;/strong&gt; объявлена через &lt;strong&gt;var&lt;/strong&gt; - это нужно для того, чтобы переменная была доступна после цикла.&lt;/p&gt;

</content></entry><entry><id>malyshev147:WMhOkzbYk</id><link rel="alternate" type="text/html" href="https://teletype.in/@malyshev147/WMhOkzbYk?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=malyshev147"></link><title>Работа с флагами в JavaScript</title><published>2020-06-02T20:38:25.446Z</published><updated>2020-06-02T20:38:25.446Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/29/ee/29eefd9f-0cbf-467c-b160-375de8266464.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/6c/79/6c795a47-99ca-4d8c-a735-dfb918ef5674.jpeg&quot;&gt;Флаг - это специальная переменная, которое может принимать только два значения: true и false. С помощью флагов можно решать задачи, проверяющие отсутствие чего-либо: можно проверить, что в массиве нет элемента с определенным значением.</summary><content type="html">
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/6c/79/6c795a47-99ca-4d8c-a735-dfb918ef5674.jpeg&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;strong&gt;Флаг&lt;/strong&gt; - это специальная переменная, которое может принимать только два значения: &lt;strong&gt;true&lt;/strong&gt; и &lt;strong&gt;false&lt;/strong&gt;. С помощью флагов можно решать задачи, проверяющие отсутствие чего-либо: можно проверить, что в массиве нет элемента с определенным значением.&lt;/p&gt;
  &lt;p&gt;Попробуем решить следующую задачу: у нас есть массив с числами, нужно проверить, есть ли в нем элемент со значением &lt;strong&gt;4&lt;/strong&gt; или нет. Если есть - выведем &lt;strong&gt;&amp;quot;Присутствует!&amp;quot;&lt;/strong&gt;, если нет - выведем&lt;strong&gt; &amp;quot;Отсутствует!&amp;quot;&lt;/strong&gt;.&lt;/p&gt;
  &lt;p&gt;Для начала давайте попробуем вывести &lt;strong&gt;&amp;quot;Присутствует!&amp;quot;&lt;/strong&gt;. Для этого переберем все элементы нашего массива и с помощью &lt;strong&gt;if&lt;/strong&gt; будем спрашивать - равен ли текущий элемент значению &lt;strong&gt;4&lt;/strong&gt;. Если равен - выведем &lt;strong&gt;&amp;quot;Присутствует!&amp;quot;&lt;/strong&gt;:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/ba/07/ba07ed95-57b9-4335-8151-7b592d97ecfa.jpeg&quot; width=&quot;676&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Наше решение не очень хорошее: поскольку, если в массиве будет не одно значение &lt;strong&gt;4&lt;/strong&gt;, а несколько, то &lt;strong&gt;&amp;quot;Присутствует!&amp;quot;&lt;/strong&gt; выведется несколько раз. Давайте исправим наш массив и сделаем два элемента со значением &lt;strong&gt;4&lt;/strong&gt;,чтобыубедится в этом:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/df/b9/dfb9b0c6-e2d1-4d62-ba4d-c768474c4de3.jpeg&quot; width=&quot;691&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Давайте теперь попробуем сделать так, чтобы, если в массиве вообще нет элементов со значением &lt;strong&gt;4&lt;/strong&gt;, выводилось &lt;strong&gt;&amp;quot;Отсутствует!&amp;quot;&lt;/strong&gt;. Распространенным заблуждением будет добавить &lt;strong&gt;else&lt;/strong&gt; к нашему &lt;strong&gt;if&lt;/strong&gt; - в этом случае &lt;strong&gt;&amp;quot;Отсутствует!&amp;quot;&lt;/strong&gt; будет выводиться на все элементы, не являющиеся &lt;strong&gt;4&lt;/strong&gt;:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/88/9b/889bd68e-f2ad-4d33-adae-0dbbc9c65b27.jpeg&quot; width=&quot;697&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Идея добавить &lt;strong&gt;else&lt;/strong&gt; - плохая идея, не рабочая. Для решения задач подобного типа и используют так называемые &lt;strong&gt;флаги&lt;/strong&gt;.&lt;/p&gt;
  &lt;p&gt;Давайте сделаем переменную &lt;strong&gt;flag&lt;/strong&gt; с таким значением: если она равна &lt;strong&gt;true&lt;/strong&gt;, то в массиве есть элемент &lt;strong&gt;4&lt;/strong&gt;, а если &lt;strong&gt;false&lt;/strong&gt;, то такого элемента нет.&lt;/p&gt;
  &lt;p&gt;Затем запустим цикл с &lt;strong&gt;if&lt;/strong&gt; так, как мы делали это раньше. Если цикл обнаружит, что в массиве есть элемент &lt;strong&gt;4&lt;/strong&gt; - то поставим переменную &lt;strong&gt;flag&lt;/strong&gt; в значение &lt;strong&gt;true&lt;/strong&gt; и выйдем из цикла с помощью &lt;strong&gt;break&lt;/strong&gt;.&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/de/d6/ded6f92b-b915-492e-b978-8d48cb5e90e9.jpeg&quot; width=&quot;685&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;после цикла переменная &lt;strong&gt;flag&lt;/strong&gt; могла остаться &lt;strong&gt;false&lt;/strong&gt; или могла сменить свое значение на &lt;strong&gt;true&lt;/strong&gt;, если цикл обнаружил в массиве &lt;strong&gt;4&lt;/strong&gt;.&lt;/p&gt;
  &lt;p&gt;Теперь после цикла мы можем сделать &lt;strong&gt;if&lt;/strong&gt;, который посмотрит на переменную flag и выведет на экран &lt;strong&gt;&amp;quot;Присутствует!&amp;quot;&lt;/strong&gt; или &lt;strong&gt;&amp;quot;Отсутствует!&amp;quot;&lt;/strong&gt;:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/3d/8b/3d8bf9c7-64d1-45f8-bbfc-ea64dd78513b.jpeg&quot; width=&quot;691&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>malyshev147:bE0cGRgBA</id><link rel="alternate" type="text/html" href="https://teletype.in/@malyshev147/bE0cGRgBA?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=malyshev147"></link><title>Инструкция break в JavaScript</title><published>2020-06-01T18:22:32.370Z</published><updated>2020-06-01T18:22:32.370Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/28/19/28197a37-f2ad-4dd4-99fc-aac47e3ee765.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/fe/02/fe02035d-82c7-47e3-8f70-b78968d0ea78.jpeg&quot;&gt;Допустим у нас есть вот такой цикл, выводящий в консоль элементы массива:</summary><content type="html">
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/fe/02/fe02035d-82c7-47e3-8f70-b78968d0ea78.jpeg&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Допустим у нас есть вот такой цикл, выводящий в консоль элементы массива:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/5f/4f/5f4fce13-eb9e-4a06-9c2e-a5383fa5c383.jpeg&quot; width=&quot;671&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Перед нами стоит задача определить, есть ли в массиве число &lt;strong&gt;4&lt;/strong&gt;. Если есть - выведем в консоль слово &amp;quot;есть!&amp;quot;.&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/c1/b3/c1b3e7db-cbc9-470a-99c2-64ab137708c2.jpeg&quot; width=&quot;632&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Есть проблема: после того, как число 4 уже найдено, массив все равно &lt;strong&gt;продолжает бессмысленно перебираться дальше &lt;/strong&gt;замедляя работу нашего скрипта.&lt;/p&gt;
  &lt;p&gt;Оптимальнее было бы сразу после нахождения числа завершить работу нашего цикла. Это можно сделать с помощью специально инструкции &lt;strong&gt;break&lt;/strong&gt;, позволяющей досрочно завершить работу цикла.&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/5b/d1/5bd13033-b410-4d7a-a313-f2f949f25222.jpeg&quot; width=&quot;625&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Инструкция &lt;strong&gt;break&lt;/strong&gt; может завершать любые циклы: обычный &lt;strong&gt;for&lt;/strong&gt;, &lt;strong&gt;while&lt;/strong&gt; и так далее.&lt;/p&gt;

</content></entry><entry><id>malyshev147:j0Hz0qaCP</id><link rel="alternate" type="text/html" href="https://teletype.in/@malyshev147/j0Hz0qaCP?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=malyshev147"></link><title>Перебор массивов циклом for-of и перебор объектов циклом for-in в JavaScript</title><published>2020-05-31T20:33:41.622Z</published><updated>2020-05-31T20:34:58.172Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/b5/0a/b50a87be-67a6-41ea-9665-0f2ae219f951.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/80/ab/80ab0428-1a6b-4617-8c4a-494f6fd0036d.jpeg&quot;&gt;В ES6 (EcmaScript 6) появился новый цикл for-of, предназначенный конкретно для перебора массивов.</summary><content type="html">
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/80/ab/80ab0428-1a6b-4617-8c4a-494f6fd0036d.jpeg&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2&gt;Перебор массива циклом for-of:&lt;/h2&gt;
  &lt;p&gt;В ES6 (EcmaScript 6) появился новый цикл &lt;strong&gt;for-of&lt;/strong&gt;, предназначенный конкретно для &lt;strong&gt;перебора массивов&lt;/strong&gt;.&lt;/p&gt;
  &lt;p&gt;Давайте рассмотрим пример:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/24/b9/24b91e3b-5d59-4a20-a8c9-00bc6fca2822.jpeg&quot; width=&quot;719&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2&gt;&lt;br /&gt;Перебор объекта циклом for-in:&lt;/h2&gt;
  &lt;p&gt;Существует похожий цикл &lt;strong&gt;for-in&lt;/strong&gt;, предназначенный для &lt;strong&gt;перебора объектов&lt;/strong&gt;.&lt;/p&gt;
  &lt;p&gt;Просмотрим пример:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/f0/75/f075087d-25a8-4f27-9936-d1fca3cbc1e8.jpeg&quot; width=&quot;669&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>malyshev147:fGcVcyDVF</id><link rel="alternate" type="text/html" href="https://teletype.in/@malyshev147/fGcVcyDVF?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=malyshev147"></link><title>Цикл for для массивов в JavaScript</title><published>2020-05-30T18:31:52.414Z</published><updated>2020-05-30T18:31:52.414Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/4c/15/4c15a0df-b221-471f-a60c-0f11e51a8973.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/3c/af/3caf363f-0062-4711-bdd4-38b77854fd00.jpeg&quot;&gt;Пусть у нас есть следующий массив:</summary><content type="html">
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/3c/af/3caf363f-0062-4711-bdd4-38b77854fd00.jpeg&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Пусть у нас есть следующий массив:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/8d/af/8dafbbc8-2b04-461a-8a70-5218daf4e86c.jpeg&quot; width=&quot;692&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Сейчас мы сделаем так, чтобы не вручную выводить каждый элемент, а это сделал за нас цикл &lt;strong&gt;for&lt;/strong&gt;.&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/8b/fd/8bfdd733-4720-413d-8001-df9b4f79ab87.jpeg&quot; width=&quot;618&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Запустим цикл &lt;strong&gt;for&lt;/strong&gt; от &lt;strong&gt;0&lt;/strong&gt; до &lt;strong&gt;4 &lt;/strong&gt;(Мы указываем от &lt;strong&gt;0&lt;/strong&gt; до &lt;strong&gt;4&lt;/strong&gt;, поскольку это &lt;strong&gt;порядковые номера элементов массива&lt;/strong&gt;) и внутри этого цикла будем выводить элементы массива, обращаясь к ним как &lt;strong&gt;arr[i]&lt;/strong&gt;.&lt;/p&gt;
  &lt;p&gt;Так же мы можем получить длину массива &lt;strong&gt;arr.length&lt;/strong&gt;. Давайте подставим эту длину в условие, отняв от нее единицу:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/cc/ef/ccefa28f-55c7-4442-aa79-bb0b5e4f8c68.jpeg&quot; width=&quot;679&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Теперь наш цикл получился универсальным и автоматически может перебирать массивы любой длины.&lt;/p&gt;
  &lt;p&gt;Можно не отнимать единицу, а вместо &lt;strong&gt;оператора &amp;lt;=&lt;/strong&gt; подставить &lt;strong&gt;оператор &amp;lt;&lt;/strong&gt;:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/a7/fc/a7fc5fa5-7246-4395-90a7-6621a580e075.jpeg&quot; width=&quot;681&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2&gt;&lt;br /&gt;Перебор массива и if:&lt;/h2&gt;
  &lt;p&gt;Внутри цикла &lt;strong&gt;for&lt;/strong&gt; можно использовать условие &lt;strong&gt;if&lt;/strong&gt;. При переборе массива, мы можем выводить в консоль только элементы с четными числами:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/d9/8c/d98cc19d-b102-45d1-b570-5f49b7b55484.jpeg&quot; width=&quot;666&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>malyshev147:SmPSL4vi6</id><link rel="alternate" type="text/html" href="https://teletype.in/@malyshev147/SmPSL4vi6?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=malyshev147"></link><title>Цикл for в JavaScript</title><published>2020-05-30T08:57:39.950Z</published><updated>2020-05-30T08:57:39.950Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/06/f1/06f1a148-da68-408a-9a11-ed93569875f1.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/f4/a2/f4a2238d-a0cd-462f-a9d7-8965112dab34.jpeg&quot;&gt;Цикл for является альтернативой while. Он более сложен для понимания, но чаще всего его любят больше, чем while за то, что он занимает меньше строк кода.</summary><content type="html">
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/f4/a2/f4a2238d-a0cd-462f-a9d7-8965112dab34.jpeg&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Цикл &lt;strong&gt;for&lt;/strong&gt; является альтернативой &lt;strong&gt;while&lt;/strong&gt;. Он более сложен для понимания, но чаще всего его любят больше, чем &lt;strong&gt;while&lt;/strong&gt; за то, что он занимает меньше строк кода.&lt;/p&gt;
  &lt;p&gt;Давайте рассмотрим пример цикла &lt;strong&gt;for&lt;/strong&gt;:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/a4/aa/a4aa5f8f-c0bd-4ffe-b3aa-0b451594a239.jpeg&quot; width=&quot;701&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;strong&gt;Начальные команды&lt;/strong&gt; - это то, что выполнится &lt;strong&gt;перед стартом цикла&lt;/strong&gt;. Они выполнятся только один раз.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Условие окончания цикла&lt;/strong&gt; - это условие, при котором цикл будет выполняться, пока оно истинное.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Команды после прохода цикла&lt;/strong&gt; - это команды, которые будут выполнятся каждый раз при окончании прохода цикла. Обычно там увеличивают счетчики, например: &lt;strong&gt;i++&lt;/strong&gt;.&lt;/p&gt;

</content></entry><entry><id>malyshev147:yrktx9PNK</id><link rel="alternate" type="text/html" href="https://teletype.in/@malyshev147/yrktx9PNK?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=malyshev147"></link><title>Цикл while в JavaScript</title><published>2020-05-29T18:26:38.913Z</published><updated>2020-05-29T18:26:38.913Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/71/5d/715d1193-e55f-4048-a1dc-007727a52d2b.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/09/aa/09aa2c55-464a-4518-a52b-c0a77e1dc189.jpeg&quot;&gt;Циклы используются для того, чтобы некоторый участок кода выполнился несколько раз подряд.</summary><content type="html">
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/09/aa/09aa2c55-464a-4518-a52b-c0a77e1dc189.jpeg&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Циклы используются для того, чтобы некоторый участок кода &lt;strong&gt;выполнился несколько раз подряд&lt;/strong&gt;.&lt;/p&gt;
  &lt;p&gt;Начнем наше изучение циклов с цикла &lt;strong&gt;while&lt;/strong&gt;.&lt;/p&gt;
  &lt;p&gt;Цикл &lt;strong&gt;while&lt;/strong&gt; будет выполняться до тех пор, пока &lt;strong&gt;верно&lt;/strong&gt; (истинно) выражение, переданное ему параметром. Цикл закончится, когда выражение перестанет быть истинным.&lt;/p&gt;
  &lt;p&gt;Давайте рассмотрим пример цикла &lt;strong&gt;while&lt;/strong&gt;:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/de/93/de9357c5-16be-4314-8394-8efc0b991fee.jpeg&quot; width=&quot;706&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Переменная &lt;strong&gt;i&lt;/strong&gt; называется &lt;strong&gt;счетчиком цикла&lt;/strong&gt;. Счетчики используются для того, чтобы подсчитывать, сколько раз выполнился цикл.&lt;/p&gt;
  &lt;p&gt;Для счетчиков принято использовать буквы &lt;strong&gt;i&lt;/strong&gt;, &lt;strong&gt;j&lt;/strong&gt; и &lt;strong&gt;k&lt;/strong&gt;.&lt;/p&gt;
  &lt;p&gt;Каждый проход цикла называется &lt;strong&gt;итерацией&lt;/strong&gt; цикла. Можно сказать, что мы увеличиваем переменную &lt;strong&gt;i&lt;/strong&gt; на единицу &lt;strong&gt;в каждой итерации цикла&lt;/strong&gt;.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;h2&gt;Более сложный цикл:&lt;/h2&gt;
  &lt;p&gt;К счетчику не обязательно прибавлять единицу. Давайте для примера выведем столбец четных чисел от &lt;strong&gt;4&lt;/strong&gt; до &lt;strong&gt;16&lt;/strong&gt;. Для этого &lt;strong&gt;начальное значение&lt;/strong&gt; переменной &lt;strong&gt;i&lt;/strong&gt; зададим как &lt;strong&gt;4&lt;/strong&gt; и будем прибавлять двойку:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/e9/2c/e92c098b-d51b-4d05-9ebd-1b4448fea6ae.jpeg&quot; width=&quot;706&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;h2&gt;Обратный отсчет:&lt;/h2&gt;
  &lt;p&gt;Счетчик не обязательно должен увеличиваться в цикле. Бывают ситуации, когда счетчик &lt;strong&gt;должен уменьшается&lt;/strong&gt;:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/4e/e7/4ee7bc7b-8547-4bfc-9d3b-c24e378b3e60.jpeg&quot; width=&quot;656&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>malyshev147:MS_AS3Z1p</id><link rel="alternate" type="text/html" href="https://teletype.in/@malyshev147/MS_AS3Z1p?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=malyshev147"></link><title>Функция confirm в JavaScript</title><published>2020-05-29T09:26:50.892Z</published><updated>2020-05-29T09:26:50.892Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/27/b7/27b7d682-328e-4448-b973-97a3485574c0.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/cf/1e/cf1e9e0e-cc2d-443b-8f37-764266d7e3bf.jpeg&quot;&gt;Вы уже знаете две функции, которые выводят диалоговые окна, а именно alert и prompt.</summary><content type="html">
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/cf/1e/cf1e9e0e-cc2d-443b-8f37-764266d7e3bf.jpeg&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Вы уже знаете две функции, которые выводят диалоговые окна, а именно &lt;strong&gt;alert&lt;/strong&gt; и &lt;strong&gt;prompt&lt;/strong&gt;.&lt;/p&gt;
  &lt;p&gt;Функция &lt;strong&gt;confirm&lt;/strong&gt; вызывает окошко с вопросом, на который нужно ответить пользователю, и двумя кнопками для ответа: &lt;strong&gt;с кнопкой &amp;quot;Ок&amp;quot; &lt;/strong&gt;и &lt;strong&gt;с кнопкой &amp;quot;Отмена&amp;quot;&lt;/strong&gt;.&lt;/p&gt;
  &lt;p&gt;Если пользователь нажмет &lt;strong&gt;&amp;quot;Ок&amp;quot;&lt;/strong&gt; - то функция вернет &lt;strong&gt;true&lt;/strong&gt;, а если &lt;strong&gt;&amp;quot;Отмена&amp;quot;&lt;/strong&gt; - то вернет &lt;strong&gt;false&lt;/strong&gt;.&lt;/p&gt;
  &lt;p&gt;Давайте рассмотрим пример использования этой функции:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/9e/a0/9ea095ee-b96b-4b4c-8a34-28572e5ec63b.jpeg&quot; width=&quot;704&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>malyshev147:37ZWnXOoU</id><link rel="alternate" type="text/html" href="https://teletype.in/@malyshev147/37ZWnXOoU?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=malyshev147"></link><title>Конструкция switch-case в JavaScript</title><published>2020-05-28T17:47:30.504Z</published><updated>2020-05-28T17:54:24.888Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/13/cc/13cca260-3d78-46eb-80b6-52b40114482d.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/9b/55/9b55a823-1a17-40ca-a1da-215b25fcf34a.jpeg&quot;&gt;
Рассмотрим следующий код:</summary><content type="html">
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/9b/55/9b55a823-1a17-40ca-a1da-215b25fcf34a.jpeg&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;br /&gt;Рассмотрим следующий код:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/0b/82/0b82bf84-d1ab-42f0-9a60-16440efdaa75.jpeg&quot; width=&quot;512&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Давайте изменим этот код через конструкцию &lt;strong&gt;switch-case&lt;/strong&gt;, представляющую собой альтернативу &lt;strong&gt;if-else&lt;/strong&gt;:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/71/bf/71bfe254-4bed-4bcc-b90b-493a506401d2.jpeg&quot; width=&quot;708&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Обратите внимание на то, что в блоке &lt;strong&gt;case&lt;/strong&gt; нужно писать какое-то конкретное значение - там &lt;strong&gt;нельзя использовать логические операции&lt;/strong&gt; (&lt;strong&gt;==&lt;/strong&gt;, &lt;strong&gt;больше&lt;/strong&gt;, &lt;strong&gt;меньше&lt;/strong&gt; и тп).&lt;/p&gt;
  &lt;p&gt;То есть &lt;strong&gt;switch-case &lt;/strong&gt;используется для выбора &lt;strong&gt;одного значения&lt;/strong&gt; из некоторого ряда значений. Если вам нужно &lt;strong&gt;нечто более сложное&lt;/strong&gt; - необходимо использовать конструкцию &lt;strong&gt;if-else&lt;/strong&gt;.&lt;/p&gt;
  &lt;h2&gt;&lt;br /&gt;Необязательность использования break:&lt;/h2&gt;
  &lt;p&gt;Команда &lt;strong&gt;break&lt;/strong&gt; является &lt;strong&gt;необязательной&lt;/strong&gt;. Однако, есть одно &lt;strong&gt;НО&lt;/strong&gt;, поведение блоков &lt;strong&gt;case&lt;/strong&gt; будет неожиданным.&lt;/p&gt;
  &lt;p&gt;Давайте рассмотрим примеры:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/9e/10/9e10f589-d2f0-43e9-8013-5b001b15cd3e.jpeg&quot; width=&quot;695&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;То есть, при отсутствии &lt;strong&gt;break&lt;/strong&gt; после выполнения задуманного &lt;strong&gt;case&lt;/strong&gt;, выполнятся и все &lt;strong&gt;case &lt;/strong&gt;ниже него.&lt;/p&gt;

</content></entry><entry><id>malyshev147:A4LCUrgVc</id><link rel="alternate" type="text/html" href="https://teletype.in/@malyshev147/A4LCUrgVc?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=malyshev147"></link><title>Область видимости let и var в if-else</title><published>2020-05-28T08:39:31.343Z</published><updated>2020-05-28T08:39:31.343Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/24/17/2417c597-79ac-4ff4-a48a-2a117e3dc913.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/07/8e/078e48e7-596a-4cb2-a094-e5e99157d955.jpeg&quot;&gt;Рассмотрим следующий пример:</summary><content type="html">
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/07/8e/078e48e7-596a-4cb2-a094-e5e99157d955.jpeg&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Рассмотрим следующий пример:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/e8/a0/e8a0d7ad-1bed-43a2-a5af-6855283b6665.jpeg&quot; width=&quot;525&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Как вы видите, в переменную &lt;strong&gt;a &lt;/strong&gt;должно записаться значение &lt;strong&gt;&amp;quot;Готово!&amp;quot;&lt;/strong&gt;. Однако, если запустить этот код, то в консоль &lt;strong&gt;выведется ошибка&lt;/strong&gt;!&lt;/p&gt;
  &lt;p&gt;Дело в том, что переменные, объявленные внутри фигурных скобок, &lt;strong&gt;видны только внутри этих скобок&lt;/strong&gt;, и &lt;strong&gt;не видны снаружи&lt;/strong&gt;.&lt;/p&gt;
  &lt;p&gt;Однако, если переменная &lt;strong&gt;объявлена снаружи фигурных скобок&lt;/strong&gt;, то &lt;strong&gt;видна&lt;/strong&gt; и &lt;strong&gt;внутри них&lt;/strong&gt;, и &lt;strong&gt;снаружи&lt;/strong&gt;:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/ca/53/ca53bdf1-bc97-450c-97b9-ed2519d3e125.jpeg&quot; width=&quot;690&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2&gt;&lt;br /&gt;Область видимости var:&lt;/h2&gt;
  &lt;p&gt;Переменные можно объявлять либо через &lt;strong&gt;let&lt;/strong&gt;, либо через &lt;strong&gt;var&lt;/strong&gt;.&lt;/p&gt;
  &lt;p&gt;Эти два способа объявления переменных создают для них &lt;strong&gt;разные области видимости&lt;/strong&gt;.&lt;/p&gt;
  &lt;p&gt;Посмотрим на примерах:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/02/aa/02aaddac-8853-4583-a2e6-3c00598a04b4.jpeg&quot; width=&quot;572&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;В настоящее время рекомендуется объявлять переменные именно через &lt;strong&gt;let&lt;/strong&gt;, так как область видимости таких переменных &lt;strong&gt;ограничена фигурными скобками&lt;/strong&gt; (это защищает код от случайных ошибок).&lt;/p&gt;

</content></entry></feed>