Оператор return
завершает выполнение текущей функции и возвращает значение этой функции.
Синтаксис
return [[выражение]];
- выражение
- Возвращаем выражение. Если
не указано, то вместо него возвращается
undefined
.
Описание
При вызове оператора return
в функции, выполнение этой функции прекращается. Указанное значение возвращается вызывателю функции. Если не указано, возращается 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 (Firefox 40 / Thunderbird 40 / SeaMonkey 2.37), показывается предупреждение, что найден недостижимый код после
return
.Примеры
return
Данная функция возвращает квадрат аргумента x
, где x
- число.
function square(x) { return x * x; }
Прерывании функции
Функция немедленно останавливается в точке, где вызывается 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
Спецификации
Спецификация | Статус | Комментарий |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Стандарт | Изначальное определение |
ECMAScript 5.1 (ECMA-262) Определение 'Return statement' в этой спецификации. |
Стандарт | |
ECMAScript 2015 (6th Edition, ECMA-262) Определение 'Return statement' в этой спецификации. |
Стандарт |
Поддержка браузерами
Возможность | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Базовая поддержка | (Да) | (Да) | (Да) | (Да) | (Да) |
Возможность | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Базовая поддержка | (Да) | (Да) | (Да) | (Да) | (Да) | (Да) |
Смотрите также
Метки документа и участники
Обновлялась последний раз:
Biosneakers,