JavaScript: Инструкция return
С помощью инструкции return функция может возвратить некоторое значение (результат работы функции) программе, которая её вызвала. Возвращаемое значение передаётся в точку вызова функции.
Инструкция return имеет следующий синтаксис:
return выражение;
В программу возвращается не само выражение, а результат его вычисления.
Для дальнейшего использования возвращаемого значения, результат выполнения функции можно присвоить к примеру переменной:
function calc(a) < return a * a; >var x = calc(5); alert(x); // 25
Инструкция return может быть расположена в любом месте функции. Как только будет достигнута инструкция return , функция возвращает значение и немедленно завершает своё выполнение. Код, расположенный после инструкции return , будет проигнорирован:
function foo() < return 1; alert('Не выполнится'); >var x = foo(); alert(x); // 1
Внутри функции можно использовать несколько инструкций return :
function check(a, b) < if(a >b) return a; else return b; > alert(check(3, 5)); // 5
Если инструкция return не указана или не указано возвращаемое значение, то функция вернёт значение undefined:
function bar() <> function foo() < return; >alert(bar()); // undefined. Инструкция return не указана alert(foo()); // undefined. Возвращаемое значение не указано
С этой темой смотрят:
- Объявление и вызов функции
- Параметры и аргументы функции
- arguments и this
- Рекурсия
Копирование материалов с данного сайта возможно только с разрешения администрации сайта
и при указании прямой активной ссылки на источник.
2011 – 2023 © puzzleweb.ru | razumnikum.ru
return
The return statement ends function execution and specifies a value to be returned to the function caller.
Try it
Syntax
return; return expression;
The expression whose value is to be returned. If omitted, undefined is returned.
Description
The return statement can only be used within function bodies. When a return statement is used in a function body, the execution of the function is stopped. The return statement has different effects when placed in different functions:
- In a plain function, the call to that function evaluates to the return value.
- In an async function, the produced promise is resolved with the returned value.
- In a generator function, the produced generator object’s next() method returns < done: true, value: returnedValue >.
- In an async generator function, the produced async generator object’s next() method returns a promise fulfilled with < done: true, value: returnedValue >.
If a return statement is executed within a try block, its finally block, if present, is first executed, before the value is actually returned.
Automatic semicolon insertion
The syntax forbids line terminators between the return keyword and the expression to be returned.
return a + b;
The code above is transformed by automatic semicolon insertion (ASI) into:
return; a + b;
This makes the function return undefined and the a + b expression is never evaluated. This may generate a warning in the console.
To avoid this problem (to prevent ASI), you could use parentheses:
return ( a + b );
Examples
Interrupt a function
A function immediately stops at the point where return is called.
function counter() // Infinite loop for (let count = 1; ; count++) console.log(`$count>A`); // Until 5 if (count === 5) return; > console.log(`$count>B`); // Until 4 > console.log(`$count>C`); // Never appears > counter(); // Logs: // 1A // 1B // 2A // 2B // 3A // 3B // 4A // 4B // 5A
Returning a function
See also the article about Closures.
function magic() return function calc(x) return x * 42; >; > const answer = magic(); answer(1337); // 56154
Specifications
| Specification |
|---|
| ECMAScript Language Specification # sec-return-statement |
Browser compatibility
BCD tables only load in the browser
See also
Found a content problem with this page?
- Edit the page on GitHub.
- Report the content issue.
- View the source on GitHub.
This page was last modified on Aug 11, 2023 by MDN contributors.
Your blueprint for a better internet.
MDN
Support
- Product help
- Report an issue
Our communities
Developers
- Web Technologies
- Learn Web Development
- MDN Plus
- Hacks Blog
- Website Privacy Notice
- Cookies
- Legal
- Community Participation Guidelines
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2023 by individual mozilla.org contributors. Content available under a Creative Commons license.
Что такое return в JavaScript?
Оператор return используется в функциях для возвращения данных после выполнения работы функции.
Если функция должна обработать какие-то данные и потом вернуть их, то для возвращения данных необходим оператор return. Рассмотрим его на примере:
function some_test(a, b, c) < // Функция с 3 параметрами return a + b + c; // Функция возвращает результат суммы чисел >var res = some_test(4, 6, 1); console.log(res);
В примере выше вызывается функция, которая считает сумму трех переданных аргументов. В конце функция возвращает это значение. Значение можно записать в переменную и далее работать с ним.
Что значит return в JavaScript?
При изучении JavaScript, я дошел до return. Не понимал для чего это надо. Сначала пробовал как-нибудь «допонять», далее поискать в гугле объяснения, но слишком уж было все замудренно сказано. Что значит возвратить результат? Для чего нужен return? И куча разных других вопросов ко всему этому. Надеюсь, что объясните все своими словами и заранее спасибо
Отслеживать
67.9k 216 216 золотых знаков 77 77 серебряных знаков 219 219 бронзовых знаков
задан 30 дек 2018 в 18:49
OhMyZshshshsh OhMyZshshshsh
167 2 2 серебряных знака 6 6 бронзовых знаков
то есть вы прочитали кучу объяснений и не поняли? отдохните денек другой от учебы и приступите снова
30 дек 2018 в 19:03
Все равно будет непонятно.
30 дек 2018 в 19:12
@YorkIsMine, плохой настрой))) Все получится и все поймете, возможно действительно нужно передохнуть и вновь почитать и запустить несколько примеров! ru.stackoverflow.com/questions/846086/… ru.stackoverflow.com/questions/466154/…
30 дек 2018 в 19:42
возможно и так. В любом случае вам тоже спасибо
30 дек 2018 в 19:58
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
//функция calculate принимает на вход два параметра: a, b //выполняет работу (складывает эти два числа) и результат возвращает (для этого служит оператор return) //после return указывается что именно надо возвратить //если не нравится слово возвращает, можешь заменить его словом 'выдает' function calculate(a, b) < x = a + b; return x; >//так как функция возвращает результат, то его можно записать в переменную number //мы передаем в функцию calculate два числа: 2 и 3 //она их складывает и возвращает(выдает) результат 5 //этот результат записывается в переменную number var number = calculate(2, 3); //теперь в консоли мы можем посмотреть чему равна переменная number console.log(number);
Отслеживать
ответ дан 30 дек 2018 в 19:21
678 1 1 золотой знак 4 4 серебряных знака 13 13 бронзовых знаков
вот как. спасибо тебе большое!)
30 дек 2018 в 19:56
@YorkIsMine можешь принять ответ, раз помог)
30 дек 2018 в 20:09
У функции есть вход и выход, на входе функция получает аргументы, на выходе выдаёт результат. Вот return как раз означает выход из функции и выдача результата.
Отслеживать
ответ дан 30 дек 2018 в 19:35
69 5 5 бронзовых знаков
спасибо. Кажется, начинаю все понимать
30 дек 2018 в 19:57
- javascript
- функции
- return
-
Важное на Мете
Связанные
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
