У одного из самых известных поэтов из Португалии есть фраза: «Primeiro estranha-se, depois entranha-se», что на английском языке означает что-то вроде того, что сначала кажется странным, но потом вы чувствуете это в себе. Это был мой опыт работы с Javascript с самого начала. Это началось с чего-то, что казалось странным, но со временем это перебило меня, и теперь я просто хочу знать все больше и больше и практиковаться все больше и больше.

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

Первая из этой длинной серии будет посвящена потоку управления в Javascript.

В информатике поток управления - это порядок выполнения инструкций, операторов или функций. В javascript мы читаем код, начиная с первой до последней строки, если, конечно, в коде нет каких-либо инструкций или операторов, которые изменяют этот поток управления.

Я бы подумал, что наиболее известным используемым потоком управления является оператор if, который мы использовали во многих частях нашего кода. Например, вы хотите, чтобы на веб-сайте отображалась какая-то страница, если вам больше 18 лет, в противном случае веб-сайт будет отображать другую страницу - это традиционный пример потока управления / условный пример.

ПРИМЕЧАНИЕ. Циклы - большая часть оператора потока управления, но поскольку я хочу написать сообщение только о циклах, даже то, что я собираюсь упомянуть и использовать их в примерах, это не будет моей основной задачей.

БЛОК

Оператор блока сам по себе не изменяет поток управления, но используется для группировки операторов. Блок устанавливается парой фигурных скобок.

{
first statement;
second statement;
...
}

Хорошим примером использования оператора when является оператор if.

ЛОМАТЬ

Разрыв, как следует из названия, ломается. Что ломается? Разрывает оператор или, как правило, прерывает цикл.

См. Следующий пример:

for (let i = 0; i < 5; i++) {
  if (i === 3) {
    break;
  }
  console.log(i);
}
//excepted output : 0,1,2

В этом цикле, если мы возьмем разрыв, цикл будет проходить через все значения от 0 до 4. Но поскольку у нас есть разрыв на 3, он будет повторяться только от 0 до 2.

По сути, это условие говорит, что если i равно 3, то прервите и остановите цикл там.

Мы также можем использовать его, чтобы предоставить пользователю дополнительную информацию. Если нам нужна функция, которая хочет перебирать некоторые числа и прерывается при выполнении определенного условия, и распечатайте эту информацию об этом. В этом случае мы хотели бы, чтобы он продолжался до тех пор, пока определенное число не имело остаток деления 0 при делении на 3, но также и на 5, и мы хотели бы распечатать эту информацию.

for (let i = 5; i < 50; i++) {
  if (i % 3 === 0 && i % 5 === 0) {
    console.log(`The division reminder of the number ${i} is 0`);
    break;
  }
  console.log(i);
}
expected output :
5 
6
7
8
9
10
11
12
13
14
The division reminder of the number 15 is 0

Полезно, правда?

ПРОДОЛЖАТЬ

Итак, если break, завершает цикл, что делает оператор continue? Правильно, он переходит из цикла в этой итерации и переходит к следующей итерации.

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

for ( let i = 0; i<10;i++){
if(i ===5){
continue;
}
console.log(i);
}
excepted output:
0
1
2
3
4
6
7
8
9

Итак, как вы можете видеть, console.log напечатает весь цикл, кроме номера 5, где был установлен оператор continue. Если вы хотите проверить, что происходит в каждой ситуации, я советую вам устанавливать console.log на каждом шаге и смотреть, что он печатает:

for (let i = 0; i < 10; i++) {
 console.log(i);
 if (i === 5) {
   continue;
 }
}
excepted output:
0
1
2
3
4
5
6
7
8
9

Поэтому, если вы напечатаете его перед оператором continue, он напечатает все. Что, если вы распечатаете его непосредственно перед оператором continue?

for (let i = 0; i < 10; i++) {

 if (i === 5) {
   console.log(i);
   continue;
 }
}
excepted output:
5

Итак, здесь оператор continue идет после console.log, но console.log уже находится внутри условия, что заставляет его печатать это условие.

Итак, в основном он говорит, равно ли i 5? Так распечатайте.

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

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

var music = [
"placebo",
"smashing Pumpkins",
"pearl jam",
"ornatos violeta",
"feromona"
];
for (var i = 0; i < music.length; i++) {
  if (music[i] === "ornatos violeta") {
    continue;
  }
console.log(music[i]);
}
excepted output:
"placebo"
"Smashing Pumpkins"
"Pearl jam"

Объясним это:

У вас есть массив. После того, как у вас будет цикл, который будет повторяться по всему массиву. Затем вы устанавливаете условие, если в массиве есть элемент с именем, которое вы не хотите печатать (в данном случае Ornatos Violeta. Отличный бэнд, кстати, я никогда не оставлю его без печати). Итак, вы видите массив с повторяющимся элементом (i), установленным на желаемое значение.

Затем вы устанавливаете оператор continue и распечатываете его. И точно так же он напечатает все полосы, которые вы хотели, пропуская ту, которую вы не хотите.

SWITCH (и по ассоциации оператор if)

Таким образом, оператор switch используется, например, когда вам нужно использовать много операторов if в одной и той же функции. Итак, if выражает то, что вы будете чаще всего использовать в своем коде, и вы, возможно, знаете, что это такое, но я дам краткое объяснение.

Оператор if выполняет оператор, если указанное условие истинно. Если это ложь, может быть выполнен другой оператор или проверено другое условие.

Итак, возьмите последний пример и проверьте, есть ли какой-то конкретный элемент в массиве, и выведите true с помощью оператора if.

var music = [
"placebo",
"smashing Pumpkins",
"pearl jam",
"ornatos violeta",
"feromona"
];
if (music[0] === "placebo){
  console.log(true)}
else {
  console.log(false)
 }

excepted output:
"placebo"

Итак, здесь мы проверяем , если индекс 0 массива равен «плацебо», распечатываем true. И в данном случае это так. Мы также помещаем выражение else, что, когда условие не выполняется. Для чистого кода, если вы используете только оператор else, вы можете написать его без скобок, например:

if (music[0] === "placebo){
  console.log(true)
}
  console.log(false)
excepted output:
true

То, что он выдаст тот же результат. Но что, если у вас есть еще одно условие, которое вы хотите проверить. Вы можете использовать оператор else if:

var music = [
"placebo",
"smashing Pumpkins",
"pearl jam",
"ornatos violeta",
"feromona"
];
if (music.includes("placebo")) {
  console.log(true);
} else if (music[0] === "feromona") {
  console.log(false);
} else {
  console.log(okay);
}
excepted output:
true

Итак, здесь проверяется первое условие, включает ли массив «плацебо». (Здесь я использую метод includes, который в основном как name говорит, проверяет, включает ли массив искомый элемент). Во втором условии мы проверяем, является ли index [0] «феромона», с помощью оператора else if, который работает как другой если. А затем мы помещаем в конец оператор else, если ни одно из условий не выполняется. Но что, если у нас их слишком много, если еще? Вот где появляется оператор switch.

function job(name){
  
  switch (name){
    case "professor":
      console.log("you teach well");
      break;
    case "artist":
      console.log("I like your painting");
      break;
    case "singer":
      console.log("I love your voice");
      break;
    default:
      console.log("what you do?");
  }
}
job("professor");

Давайте рассмотрим это. Оператор switch позволяет вам создать набор параметров для элемента, который вы хотите проверить.

В этом случае у вас есть функция, и для другого типа работы она будет печатать что-то другое. Но как использовать переключатель? Чтобы использовать инструкцию switch, вы должны разделить на регистры, каждый case, каждый из вариантов. Итак, в этом примере в случае 1 используемый аргумент - это профессор, и он напечатает «вы хорошо преподаете», и он будет делать это соответственно, если это художник а также если это певец.

Почему перерыв? Мы используем оператор break, потому что в противном случае код продолжится и выполнит следующий блок.

В случае switch можно использовать case по умолчанию, где он работает как оператор else, т. Е. Если никакое условие не выполняется, это то, что код будет выполнять.

Итак, это основы потока управления в Javascript. Вы можете скопировать коды и поиграть, например, в Jsbin, чтобы посмотреть, как это работает. В JS есть больше операторов потока управления и больше о циклах. Но я вернусь к вам в посте и примере о циклах в ближайшем будущем.

Присылайте мне свои комментарии и мнения здесь, через Twitter или Instagram. Я опубликую больше контента, руководств, видео и другого контента, связанного с кодированием. Счастливые творения :)