Загрузка...

Возврат значения

В прошлом уроке вы передавали значения внутрь функции. Реальным программам часто нужен ещё и результат наружу — сумма, метка, да/нет — чтобы вызывающий код продолжил работу. Ключевое слово, которое отдаёт этот результат, — return.

Что делает return

В теле пишете return expression;. JavaScript вычисляет выражение, передаёт значение вызывающему коду и завершает этот вызов. Вызывающий может сохранить: let total = add(3, 4); — здесь total становится 7.

return — это не то же самое, что вывод в консоль

📊 return против console.log

Идея Что делает Кто видит
return value отправляет value вызывающему ваша следующая строка кода
console.log(value) печатает value в консоль тот, кто смотрит консоль
оба можно и печатать, и возвращать лог — для глаз; return — для программы
без return вызов заканчивается с undefined сохранение вызова даёт undefined
после return дальнейшие строки этого вызова пропускаются ранний выход намеренный

Лог помогает подсмотреть. Возврат позволяет остальной программе использовать ответ. Новички часто только печатают внутри и удивляются, почему let x = f() равно undefined — потому что ничего не вернули.

Вернуть число

javascript
function add(a, b) {
return a + b;
}
let total = add(3, 4);
console.log(total);

Сохраните результат

add сама не печатает. Она возвращает 7. Вызывающий кладёт это в total, затем логирует. Меняйте аргументы, оставляйте тело — возвращённая сумма следует за входами.

Вернуть строку

javascript
function greet(name) {
return "Hello, " + name;
}
let line = greet("Sara");
console.log(line);

Соберите значение на потом

greet собирает строку и отдаёт её. В line лежит Hello, Sara. Можно передать line на страницу, в другую функцию или в тест — return открывает повторное использование вне тела.

return останавливает функцию

javascript
function demo() {
console.log("first");
return 1;
console.log("second");
}
demo();

После return ничего не выполняется

Этот вызов печатает first, затем возвращает 1. Строка с second никогда не выполняется. Это не баг — return сразу завершает вызов.

Ранний выход

javascript
function label(score) {
if (score < 0) {
return "invalid";
}
return "ok";
}
console.log(label(-1));
console.log(label(10));

Выходите рано, когда ответ уже готов

Если score отрицательный, функция возвращает "invalid" и пропускает остальное. Иначе — "ok". Такой ранний return делает обычный путь коротким и читаемым.

Без return → undefined

javascript
function shout(msg) {
console.log(msg);
}
let result = shout("hi");
console.log(result);

Забыли return?

shout только логирует. Вызов всё равно заканчивается — с undefined. Сохранение кладёт undefined в result. Нужно значение снаружи — напишите явный return.

Положите возвращённое значение на страницу

Соберите сообщение через return, затем запишите эту строку в абзац. Функция сосредоточена на тексте; код страницы решает, где он появится.

Покажите return на странице

Объявите функцию, которая возвращает строку приветствия, вызовите её и поместите результат в абзац.

Вызов на странице с возвратом

html
<!DOCTYPE html>
<html>
<head>
<title>return — page</title>
</head>
<body>
<p id="msg">…</p>
<script>
function welcome(guest) {
return "Hello, " + guest;
}
let box = document.getElementById("msg");
box.textContent = welcome("Omar");
</script>
</body>
</html>

Страница показывает Hello, Omar. welcome вернула строку; следующая строка записала её в абзац. Меняйте только аргумент, обновите страницу и прочитайте новую строку. Дальше — стрелочные функции: более короткая запись некоторых таких функций.

Попробуйте сами

  1. Напишите function sum(x, y), которая возвращает x + y, сохраните вызов в переменную и залогируйте её.
  2. Напишите function hi(name), которая возвращает "hi " плюс name, затем залогируйте возвращённую строку.
  3. Поставьте console.log после return внутри функции; убедитесь, что строка не печатается.
  4. Напишите охрану: если n === 0 вернуть "zero", иначе "nonzero".
  5. Вызовите функцию, которая только делает console.log, и сохраните вызов; подтвердите undefined.
  6. В HTML-демо меняйте только строку аргумента, обновите и прочитайте абзац.

Частые ошибки

  • Только console.log внутри и ожидание, что let x = f() даст полезное значение
  • Забыть сохранить или использовать возвращённое значение при вызове
  • Писать код после return и удивляться, почему он не выполняется
  • Писать пустой return; вместо return value;
  • Искать здесь приёмы с параметрами — эта страница про выходы; входы были в прошлом уроке

Кратко

  • return отправляет значение вызывающему коду
  • Сохраняйте или используйте это значение вне функции
  • После return остаток этого вызова пропускается
  • Ранний return — чистый выход для особых случаев
  • Без return (или пустой return) → вызов даёт undefined
  • Обновления страницы могут использовать возвращённую строку
  • Дальше: стрелочные функции — компактный синтаксис функций

🧠 Проверьте Свои Знания

Готов к Началу

Проверьте Свои Знания

Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему

❓
8
Вопросы
🎯
70%
Для Прохождения
♾️
∞
Время
🔄
∞
Попытки

📝 Инструкции

  • Внимательно прочитайте каждый вопрос
  • Выберите лучший ответ на каждый вопрос
  • Вы можете пересдавать тест столько раз, сколько захотите
  • Ваш прогресс будет показан вверху