Почему return не возвращает значение?
Извините за тупой вопрос, но:
let makeItDubble = (text) => { let i = text + text; return i; }; console.log(i); makeItDubble("I never look back"); |
let makeItDubble = (text) => { let i = text + text; return i; }; console.log(i); makeItDubble("I never look back");
Дополнительно:
let makeItDouble = (text) => { let i = text + text; return i; }; console.log(makeItDouble("I never look back")); |
let makeItDouble = (text) => { let i = text + text; return i; }; console.log(makeItDouble("I never look back"));
Return всё прекрасно возвращает. Но то, что он возвращает, нужно сохранять в переменную или использовать сразу. Переменная i находится внутри функции и снаружи недоступна. Если бы можно было делать так, как вы написали, то и смысла в return бы не было.
А куда он должен возвращать его? И как вне теле функции вы написали консоль лог с неизвестной переменной то?
Вы создали внутри функции ЛОКАЛЬНУЮ переменную
Если очень хочется - то и извращения могут приносить удовольствие...
var i = ""; let makeItDubble = (text) => { i = text + text; return i; }; makeItDubble("I never look back"); console.log(i); |
var i = ""; let makeItDubble = (text) => { i = text + text; return i; }; makeItDubble("I never look back"); console.log(i);
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Проблема, когда оператор return не возвращает значение, может возникать по нескольким причинам. Давайте разберем основные из них и попробуем найти решение.
1. Отсутствие значения после return:
Возможно, вы забыли указать значение, которое должно быть возвращено при вызове функции. Например:
function myFunction() { return; // здесь нет значения для возврата }
Необходимо добавить значение после оператора return, чтобы функция могла вернуть его:
function myFunction() { return 42; // возвращаемое значение }
2. Выход из функции до оператора return:
Если в вашей функции есть условный оператор или цикл, который прерывает выполнение функции до достижения оператора return, то значение не будет возвращено. Например:
function myFunction($x) { if ($x < 0) { return; } // код, который может прервать выполнение функции }
Убедитесь, что выполнение функции не прерывается до оператора return, который должен вернуть значение.
3. Неправильное использование return внутри вложенных функций:
Если вы используете return внутри вложенной функции, она будет возвращать значение из вложенной функции, а не из внешней. Например:
function outerFunction() { function innerFunction() { return 42; } innerFunction(); }
Чтобы вернуть значение из внешней функции, необходимо явно использовать return:
function outerFunction() { function innerFunction() { return 42; } return innerFunction(); // возвращаем значение из внутренней функции }
Проверьте ваш код на наличие указанных выше причин, которые могут привести к тому, что оператор return не возвращает значение. Внимательно следите за логикой выполнения функции и убедитесь, что значение возвращается корректно.