JavaScript

Зачем нужны функции в js?

Для чего нужны функции в js?
Это смысл его бытия.
Виктор Верин
Виктор Верин
95 001
Лучший ответ
Егор Титов function foo() {
}
foo.voistinu = "ty_prav";
За тем же, зачем они нужны во всех языках высокого уровня: для упрощения написания / понимания кода. Что проще читать - когда текст книги разбит на главы, состоящие из абзацев, или когда он написан сплошным текстом - вообще без какой-либо разбивки?

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

P.S. JavaScript целиком построен на асинхронности (начиная с обработки событий), без понимания которой ничего путного на этом языке не напишешь. А асинхронность - это вызовы подпрограмм.
Евгений Петров можно пример?
Для того, что в английском языке называется reusability. То есть повторное или многократное использование одних и тех же алгоритмов. Не буду перечислять все достоинства этого и других положительных сторон.
Павел Д
Павел Д
55 570
Для достижения трех целей:
1. повышение читаемости кода (при правильном именовании функций, сразу понятно что делает каждая);
2. организация кода через смысловое разделение бизнес-логики (помогает тестировать, оптимизировать, рефакторить, и избегать чисто человеческих ошибок);
3. переиспользование (и речь не только о повторении одинаковых действий в рамках текущей реализации: рано или поздно, в каждом большом проекте настает момент создания внутренней библиотеки, для его расширения или ветвления по версионности - формировать такую библиотеку из функций, значительно проще).

Еще стоит учитывать особенности самого JS: в нем функции это объекты первого класса (могут быть присвоены, переданы параметрами, возвращены), и потрясающая гибкость языка обеспечивается во многом благодаря этому. Плюс, JS это объектно-ориентированный язык, а методы объекта это тоже функции.
>> Для чего нужны функции ?
Для того чтобы они функционировали и исполняли возложенную на них функцию отсюда их название и применение.

>> Для чего нужны функции в js ?
Для того чтобы иметь возможность создавать (абстакцию) удобное понятие для рассуждения и построение своей логики при написании программ и алгоритмов.

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

В JS функции являются объектом первого класса JS это язык с _очень_ высоким уровнем абстракций
а это значит что функции являются не только инструментом который изменяет данные но и сами функции являться объектами данных которые могут изменять другие инструменты или же сами функции.

Функции в JS прячут в себе определенную функциональность (программу) для того чтобы сократить код и упростить понимание и рассуждения в процессе написания своей программы.

Следует понимать и разделять такие понятия как
1.функция
2. тип данных функция или же правильнее функциональный объект
Это разные понятия и без понимания различий затупы и непонятки неизбежны.
ИМ
Иван Маков
12 592