Регистрация
16 Май 2013
Сообщения
83
Репутация
0
Спасибо
0
Монет
0
К примеру есть две функции.
Первая функция:
function calc (a,b) {
var sum = a+b;
console.log(sum);
};
calc(4,5)

Вторая функция:
function calc (a,b) {
var sum = a+b;
return sum;
};
console.log(calc(4,5))

Чем они отличаются? Ответ в консоле один и тот же, зачем return? что он возвращает?
 
в первом случае ты просто вывел информацию на экран, а при помощи return ты можешь использовать эти данные в дальнейшем
 
Если совсем кратко, то в первом случае функция выполняет только console.log(sum) и ничего другого. В случае return sum эту самую sum можно будет использовать как душе угодно
 
во втором случае ты можешь сделать так var a = calc(4,5) и в переменную "а" запишется то значение, которое из себя вернула функция. Ну и дальше с этой переменной "а" ты можешь делать что угодно. Т. е. ты ВЕРНУЛ результат работы функции в переменную. А в случае с первой функцией.. ну ты просто вывел результат на консоль. Он нигде больше не сохранился. Ты его только визуально увидел. Ты не можешь взять этот результат и, к примеру, умножить ещё на 2.
 
первый вариант функции не является чистым. Он как минимум имеет один побочный эффект - вывод на экран. Но кто сказал что вам всегда нужно будет выводить на экран? В большинстве случаев результат функции скрытно от пользователя используется в другой функции. Return - это возврат значения из функции. Причем на самом деле иногда он применяется и для других целях - в функциях асинхронной обработки он может быть использован для перрывания основного кода функции. при этом возврат значения совсем даже и не предусматривается.
 
Назад
Сверху