Почему return не возвращает значение?

Ссылка скопирована
1 ответ

Извините за тупой вопрос, но:

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);

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Павел Админов Ответ

Проблема, когда оператор return не возвращает значение, может возникать по нескольким причинам. Давайте разберем основные из них и попробуем найти решение.

1. Отсутствие значения после return:
Возможно, вы забыли указать значение, которое должно быть возвращено при вызове функции. Например:

function myFunction() {
    return; // здесь нет значения для возврата
}

function myFunction() { return; // здесь нет значения для возврата }

Необходимо добавить значение после оператора return, чтобы функция могла вернуть его:

function myFunction() {
    return 42; // возвращаемое значение
}

function myFunction() { return 42; // возвращаемое значение }

2. Выход из функции до оператора return:
Если в вашей функции есть условный оператор или цикл, который прерывает выполнение функции до достижения оператора return, то значение не будет возвращено. Например:

function myFunction($x) {
    if ($x < 0) {
        return;
    }
    // код, который может прервать выполнение функции
}

function myFunction($x) { if ($x < 0) { return; } // код, который может прервать выполнение функции }

Убедитесь, что выполнение функции не прерывается до оператора return, который должен вернуть значение.

3. Неправильное использование return внутри вложенных функций:
Если вы используете return внутри вложенной функции, она будет возвращать значение из вложенной функции, а не из внешней. Например:

function outerFunction() {
    function innerFunction() {
        return 42;
    }
    innerFunction();
}

function outerFunction() { function innerFunction() { return 42; } innerFunction(); }

Чтобы вернуть значение из внешней функции, необходимо явно использовать return:

function outerFunction() {
    function innerFunction() {
        return 42;
    }
    return innerFunction(); // возвращаем значение из внутренней функции
}

function outerFunction() { function innerFunction() { return 42; } return innerFunction(); // возвращаем значение из внутренней функции }

Проверьте ваш код на наличие указанных выше причин, которые могут привести к тому, что оператор return не возвращает значение. Внимательно следите за логикой выполнения функции и убедитесь, что значение возвращается корректно.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно