skip to main content

Порядок выполнения

js

Кратко 🔗

Порядок выполнения или поток выполнения (англ. control flow) — это порядок, в котором интерпретатор JavaScript выполняет написанные в коде инструкции.

Стандартный порядок выполнения инструкций называют последовательным — интерпретатор читает и выполняет инструкции построчно сверху вниз.

Порядок выполнения можно менять с помощью управляющих конструкцийif...else, while, switch, for и других.

Как понять 🔗

Последовательный поток выполнения программы интуитивно понятен:

console.log("Привет")
console.log("я — вторая строка")

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

схема последовательного выполнения кода

Последовательный порядок выполнения выполняет код строка за строкой сверху вниз.

Написать сложную программу, используя только последовательный порядок выполнения, невозможно:

  • не получится напечатать разные сообщения залогиненым и незалогиненым пользователям — для этого нужно уметь выполнять разные блоки кода, в зависимости от условия
  • не удастся напечатать список всех зарегистрированных пользователей — для этого нужно уметь выполнять одну и ту же операцию, но с разными данными

Решать сложные задачи помогают управляющие конструкции. Они позволяют изменять порядок выполнения и получать другие картинки.

Условный переход 🔗

Условный переход или ветвление позволяет выполнять одну, либо другую инструкцию, в зависимости от условия:

схема условного перехода

Для этого в JavaScript используются конструкции:

Цикл 🔗

Циклический порядок или цикл позволяет многократно выполнять одну и ту же инструкцию над разными данными.

Циклы настолько важный элемент программирования, что мы написали про них отдельную статью 🔄.

схема цикла

Организовать цикл можно с помощью конструкций:

При разработке веб-приложений стандартных конструкций бывает недостаточно: при взаимодействии с внешним API мы не хотим тратить впустую ресурсы компьютера на ожидание ответа. Такие проблемы решают с помощью асинхронности, механизмы которой предоставляет браузер.