return
Функция возвращает результат, который будет передан в вызвавший её код. Для этого и используется ключевое слово return .
Пример
Скопировать ссылку «Пример» Скопировано
Примеры использования return. Функция проверки возраста на совершеннолетие и функция создания строки заданной длины со случайным содержимым — просто введите произвольные числа 😎
Как пишется
Скопировать ссылку «Как пишется» Скопировано
return используется только в функциях. Этот код приведёт к ошибке, так как не является функцией:
const result = 42if (result > 10) return true>return false
const result = 42 if (result > 10) return true > return false
function isAdult(age) return age > 18>
function isAdult(age) return age > 18 >
Как понять
Скопировать ссылку «Как понять» Скопировано
Определённый код «сгруппирован» и объединён в функцию, например проверка — чётное число или нет:
function isEven(value) if (undefined === value || null === value) return false > return value % 2 == 0>
function isEven(value) if (undefined === value || null === value) return false > return value % 2 == 0 >
Пример
Скопировать ссылку «Пример» Скопировано
Для возврата значения используется инструкция return
Она может находиться в любом месте функции. Как только до неё доходит управление — функция завершается и значение передаётся обратно.
Писать return в функции необязательно. Рассмотрим пример:
function notify(msg, type) if (type === 'error') alert('ОШИБКА:' + msg) > alert(msg)>
function notify(msg, type) if (type === 'error') alert('ОШИБКА:' + msg) > alert(msg) >
Такой функции нечего возвращать, она служит только для группировки набора команд.
Несмотря на отсутствие return , такая функция будет возвращать undefined , будто бы в ней последней строчкой написано return undefined
Ниже пример, который показывает что это действительно так:
function notify(msg, type) if (type === 'error') alert('ОШИБКА:' + msg) > alert(msg)>function notifyFull(msg, type) if (type === 'error') alert('ОШИБКА:' + msg) > alert(msg) return undefined>const a = notify('Сообщение')const b = notifyFull('Сообщение')console.log(a === b)// true
function notify(msg, type) if (type === 'error') alert('ОШИБКА:' + msg) > alert(msg) > function notifyFull(msg, type) if (type === 'error') alert('ОШИБКА:' + msg) > alert(msg) return undefined > const a = notify('Сообщение') const b = notifyFull('Сообщение') console.log(a === b) // true
На практике
Скопировать ссылку «На практике» Скопировано
Дока Дог советует
Скопировать ссылку «Дока Дог советует» Скопировано
🛠 Благодаря return можно использовать результат работы функции где угодно. Например, в условиях или при формировании новых значений. Пример ниже использует функцию с return для проверки условия — действительно ли счёт игрока больше 100:
function checkScore(score) return score > 100>const s1 = 10const s2 = 15const s3 = 20if (checkScore(s1)) alert('игрок 1 проходит')if (checkScore(s2)) alert('игрок 2 проходит')if (checkScore(s3)) alert('игрок 3 проходит')
function checkScore(score) return score > 100 > const s1 = 10 const s2 = 15 const s3 = 20 if (checkScore(s1)) alert('игрок 1 проходит') if (checkScore(s2)) alert('игрок 2 проходит') if (checkScore(s3)) alert('игрок 3 проходит')
const s1 = 10const s2 = 15const s3 = 20if (s1 > 100) alert('игрок 1 проходит')if (s2 > 100) alert('игрок 2 проходит')if (s3 > 100) alert('игрок 3 проходит')
const s1 = 10 const s2 = 15 const s3 = 20 if (s1 > 100) alert('игрок 1 проходит') if (s2 > 100) alert('игрок 2 проходит') if (s3 > 100) alert('игрок 3 проходит')
Почему эффективнее?
- если условие проверки очков изменится — его придётся писать в нескольких местах.
- если условие будет состоять более чем из одной проверки, то if усложнится и его будет сложнее понимать. Функцию, дающую ответ true или false легче читать в условном операторе.
Необходимо помнить, если выполнение функции завершилось не через return , то возвращаемое значение будет undefined ;
Самый простой способ этого избежать — всегда добавлять return с каким-либо значением перед концом функции.
- Ещё return останавливает выполнение функции. Обычно это ожидаемое поведение, но если про это забыть — возможны баги.
JavaScript return
The return statement stops the execution of a function and returns a value.
Read our JavaScript Tutorial to learn all you need to know about functions. Start with the introduction chapter about JavaScript Functions and JavaScript Scope. For more detailed information, see our Function Section on Function Definitions, Parameters, Invocation and Closures.
Syntax
Parameters
More Examples
Calculate the product of two numbers and return the result:
// Call a function and save the return value in x:
var x = myFunction(4, 3);
function myFunction(a, b) // Return the product of a and b
return a * b;
>
Related Pages
Browser Support
return is an ECMAScript1 (ES1) feature.
ES1 (JavaScript 1997) is fully supported in all browsers:
Chrome | Edge | Firefox | Safari | Opera | IE |
Yes | Yes | Yes | Yes | Yes | Yes |
COLOR PICKER
Report Error
If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:
Thank You For Helping Us!
Your message has been sent to W3Schools.
Top Tutorials
Top References
Top Examples
Get Certified
W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.
Javascript return function in html
Функция может возвращать результат. Для этого используется оператор return , после которого указывается возвращаемое значение:
В данном случае функция sum() принимает два параметра и возвращает их сумму. После оператора return идет возвращаемое значение. В данном случае это значение константы result .
После получения результата функции мы можем присвоить его какой-либо другой переменной или константе:
function sum (a, b) < return a + b; >let num1 = sum(2, 4); console.log(num1); // 6 const num2 = sum(6, 34); console.log(num2); // 40
Возвращение функции из функции
Одна функция может возвращать другую функцию:
function menu(n) < if(n==1) return function(x, y)< return x + y;>else if(n==2) return function(x, y) < return x - y;>else if(n==3) return function(x, y) < return x * y;>return function() < return 0;>> const action = menu(1); // выбираем первый пункт - сложение const result = action(2, 5); // выполняем функцию и получаем результат в константу result console.log(result); // 7
В данном случае функция menu() в зависимости от переданного в нее значения возвращает одну из трех функций или пустую функцию, которая просто возвращает число 0.
Далее мы вызываем функцию menu и получаем результат этой функции — другую функцию в константу action.
То есть здесь action будет представлять функцию, которая принимает два параметра и возвращает число. Затем черещ имя константы мы можем вызвать эту функцию и получить ее результат в константу result:
Подобным образом мы можем получить и другую возвращаемые функции:
function menu(n) < if(n==1) return function(x, y)< return x + y;>else if(n==2) return function(x, y) < return x - y;>else if(n==3) return function(x, y) < return x * y;>return function()< return 0;>; > let action = menu(1); console.log(action(2, 5)); // 7 action = menu(2); console.log(action(2, 5)); // -3 action = menu(3); console.log(action(2, 5)); // 10 action = menu(190); console.log(action(2, 5)); // 0