From 55ddd4454665a3c66e3d5b186bc79048468d36e7 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Mon, 15 Mar 2021 14:29:50 +0300 Subject: Auto fixes --- .../building_blocks/looping_code/index.html | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'files/ru/learn/javascript/building_blocks/looping_code/index.html') diff --git a/files/ru/learn/javascript/building_blocks/looping_code/index.html b/files/ru/learn/javascript/building_blocks/looping_code/index.html index 68f82b6d7b..537a6cc04e 100644 --- a/files/ru/learn/javascript/building_blocks/looping_code/index.html +++ b/files/ru/learn/javascript/building_blocks/looping_code/index.html @@ -13,7 +13,7 @@ translation_of: Learn/JavaScript/Building_blocks/Looping_code Требования: - Базовые значения компьютерной системы и базовое понимаение HTML и CSS, JavaScript первые шаги. + Базовые значения компьютерной системы и базовое понимание HTML и CSS, JavaScript первые шаги. Цель: @@ -35,7 +35,7 @@ translation_of: Learn/JavaScript/Building_blocks/Looping_code @@ -156,7 +156,7 @@ ctx.fillStyle = 'rgba(255,0,0,0.5)'; ctx.arc(random(WIDTH), random(HEIGHT), random(50), 0, 2 * Math.PI); ctx.fill(); -

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

+

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

Правила записи цикла

@@ -170,7 +170,7 @@ ctx.fill();
  1. Ключевое слово for, за которым следуют круглые скобки.
  2. -
  3. В круглых скобках у нас есть три части, разделенные точой с запятой: +
  4. В круглых скобках у нас есть три части, разделенные точкой с запятой:
    1. Инициализатор — обычно это переменная численного типа, которая увеличивается каждую итерацию, чтобы посчитать количество шагов цикла. Ее также называет счетчиком.
    2. Условие выхода — как упоминалось ранее, определяет, когда цикл должен остановиться. Обычно это выражение с оператором сравнения проверяющим, выполнено ли условие выхода.
    3. @@ -242,7 +242,7 @@ para.textContent = info;
    4. Цикл запускается, пока значение итератора не будет больше длины массива кошек. Это важно - условие выхода показывает когда именно цикл должен работать, а когда нужно выйти из цикла. Поэтому в случае, пока i < cats.lenght по-прежнему возвращает true, цикл будет работать.
    5. Внутри тела цикла мы соединяем текущий элемент цикла (cats[i] это cats[независимо от того, чем i является в данный момент]) с запятой и пробелом. Итак:
        -
      1. В начале, i = 0, поэтому cats[0] + ', ' соеденятся в ("Билл, ").
      2. +
      3. В начале, i = 0, поэтому cats[0] + ', ' соединятся в ("Билл, ").
      4. На втором шаге, i = 1, поэтому cats[1] + ', ' соединятся в ("Макс, ")
      5. И так далее. В конце каждого цикла i увеличится на 1 (i++) , и процесс будет начинаться заново.
      @@ -279,7 +279,7 @@ para.textContent = info;
      -

      Важно: С цкилом for, также как и сдругими циклами, вы должны убедиться что инициализатор (счетчик) и окончательное выражение построены так, что они достигнут условия выхода. Если этого не произойдет, то цикл будет продолжаться вечно. В итоге браузер или заставит его остановиться, или выдаст ошибку. Это называется бесконечным циклом.

      +

      Важно: С циклом for, также как и с другими циклами, вы должны убедиться что инициализатор (счетчик) и окончательное выражение построены так, что они достигнут условия выхода. Если этого не произойдет, то цикл будет продолжаться вечно. В итоге браузер или заставит его остановиться, или выдаст ошибку. Это называется бесконечным циклом.

      Выход из цикла с помощью break

      @@ -368,14 +368,14 @@ btn.addEventListener('click', function() {

      {{ EmbedLiveSample('Hidden_code_3', '100%', 100) }}

        -
      1. Прежде всего у нас определены некоторые переменные: у нас есть массив с контактной информацией, каждый элемент которого это строка, содержащая в себе имя и номер телефона, которые разделенны двоеточием.
      2. +
      3. Прежде всего у нас определены некоторые переменные: у нас есть массив с контактной информацией, каждый элемент которого это строка, содержащая в себе имя и номер телефона, которые разделены двоеточием.
      4. Далее мы применяем обработчик события для кнопки (btn), чтобы при её нажатии запускался код для поиска и отображения результатов.
      5. -
      6. Мы сохраняем значение, введенное в текстовое поле, в переменную  searchName, затем очищаем введеный текст и снова фокусируемся на текстовом поле для нового поиска.
      7. +
      8. Мы сохраняем значение, введенное в текстовое поле, в переменную  searchName, затем очищаем введенный текст и снова фокусируемся на текстовом поле для нового поиска.
      9. Теперь перейдем к интересующей нас части — к циклу for:
          -
        1. Мы начали счетчик с 0, запускаем цикл до тех пор, пока счетчик всё ещё меньше, чем contacts.length, а инкремент i увеличиваем на 1 после каждой иттерации цикла.
        2. +
        3. Мы начали счетчик с 0, запускаем цикл до тех пор, пока счетчик всё ещё меньше, чем contacts.length, а инкремент i увеличиваем на 1 после каждой итерации цикла.
        4. Внутри цикла мы сначала разделяем текущий контакт (contacts[i]) на символе двоеточия, и сохраняем полученные два значения в массиве с  названием splitContact.
        5. -
        6. Затем мы используем условный оператор, чтобы проверить, равно ли splitContact[0] (имя контакта) введеному searchName. Если это так, мы выводим строку в абзац, чтобы сообщить, каков номер контакта, и используем break для завершения цикла.
        7. +
        8. Затем мы используем условный оператор, чтобы проверить, равно ли splitContact[0] (имя контакта) введенному searchName. Если это так, мы выводим строку в абзац, чтобы сообщить, каков номер контакта, и используем break для завершения цикла.
      10. -- cgit v1.2.3-54-g00ecf