Показать сообщение отдельно
  #2 (permalink)  
Старый 13.05.2019, 22:55
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

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

Побочный эффект, например, выражается в том, что вторая функция sum меняет внешний мир. (Показалось окошко)

Функция alert сама по себе имеет побочный эффект: она что-то выводит на экран.

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

Статьи:

Последний раз редактировалось Malleys, 13.05.2019 в 23:20.
Ответить с цитированием