HTML: Markup language
CSS: Styling language
JavaScript: Scripting language
Web APIs: Programming interfaces
All web technology
Learn web development
Discover our tools
Get to know MDN better
This page was translated from English by the community. Learn more and join the MDN Web Docs community.
View in English Always switch to English
This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2015 г..
Оператор return завершает выполнение текущей функции и возвращает её значение.
return
function getRectArea(width, height) { if (width > 0 && height > 0) { return width * height; } return 0; } console.log(getRectArea(3, 4)); // Expected output: 12 console.log(getRectArea(-3, 4)); // Expected output: 0
return [[выражение]];
выражение
Выражение, значение которого будет возвращено. Если не указано, вместо него возвращается undefined.
undefined
При вызове оператора return в функции её выполнение прекращается. Указанное значение возвращается в место вызова функции. Например, приведённая ниже функция возвращает возведённое в квадрат значение своего аргумента, x (где x – это число):
x
function square(x) { return x * x; } var demo = square(3); // значение demo будет равняться 9
Если возвращаемое значение не указано, вместо него возвращается undefined.
Следующие выражения всегда прерывают выполнение функции:
return; return true; return false; return x; return x + y / 3;
На выражение return влияет автоматическая расстановка точек с запятыми (ASI). Разрыв строки не допускается между ключевым словом return и выражением.
return a + b;
трансформируется ASI в:
return; a + b;
В консоли появится предупреждение "unreachable code after return statement".
Примечание: Начиная с Gecko 40, предупреждение в консоли появляется, если обнаружен недостижимый код после return.
Для того, чтобы избежать данной проблемы (предотвратить ASI), можно использовать скобки:
return ( a + b; );
Функция немедленно останавливается в точке, где вызывается return.
function counter() { for (var count = 1; ; count++) { // бесконечный цикл console.log(count + "A"); // до 5 if (count === 5) { return; } console.log(count + "B"); // до 4 } console.log(count + "C"); // никогда не появляется } counter(); // Выводит: // 1A // 1B // 2A // 2B // 3A // 3B // 4A // 4B // 5A
Смотрите также статью о замыканиях.
function magic(x) { return function calc(x) { return x * 42; }; } var answer = magic(); answer(1337); // 56154
Enable JavaScript to view this browser compatibility table.