Какая разница между вызовом функции и возвратом значения функции?

Много перелистал информации, и разница между этими двумя понятиями для меня остается загадкой. Есть понятие вызов функции, например, show() - после чего команды в теле функции будут выполнятся, а есть понятие функция возвращает значение с помощью ключевого слова return. Если после этого указывается значение, которое функция должна возвратить и выполнение функции завершается. Если после return ничего не указать, то вернет undefined. Какая разница между вызовом функции и возвратом функции?


Пока умозаключения такие:

  1. Вызов функции выполняет код функции. Вызовов может быть много, значит результат выполнение кода функции будет однинаковый;
  2. return отбирает результат выполнения кода функции у функции и передает его (присваивает его) в код, который вызвал эту функцию. При этом дальнейшее выполнение кода функции прекращается при последующих ее вызовах.

Если что не так поправьте.


Ответы (1 шт):

Автор решения: Михаил Камахин

function show(arg) {
  const p = 5;
  const k = 9;
}

function showValue(arg) {
  const result = arg * 2
  return result;
}

function editValueB(arg) {
  b = arg;
}

const a = show(1); // в a запишется undefined, потому что return'a нету
let b = showValue(4); // в b запишется то, что стоит в функции после return
console.log('a = show(1) -->', a);
console.log('b = showValue(4) -->', b);
editValueB(23); // функция editValueB изменит значение переменной b
console.log('editValueB(23) -->', b);

→ Ссылка