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

Представьте себе мир без светофора. Перекрёстки будут забиты, грузовики не выгрузят посылки вовремя, и начнётся хаос, когда люди сходят с ума, застряв в пробке (хотя в Лос-Анджелесе такое случается даже со светофорами).

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

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

Давайте напишем функцию на JavaScript, которая сообщает нам цвет машины:

Две функции, car1 и car2, возвращают: «Машина красная». Однако car2 просто лишний, просто светофор, который не позволит вам повернуть налево.

Короче говоря: есть много путей, ведущих в Рим, но некоторые из них лучше, чем другие.