Подтвердить что ты не робот

Когда использовать возврат и что происходит с возвращенными данными?

В чем разница между:

function bla1(x){console.log(x)}

и

function bla(x){return console.log(x)}

В каких случаях следует использовать return?

также, когда значение возвращается из функции, что с ним происходит? он где-то хранится?

4b9b3361

Ответ 1

В чем разница

Первая функция возвращает undefined (поскольку она явно не выражает return), вторая возвращает то, что возвращает console.log.

В каких случаях я должен использовать return?

Когда функция генерирует некоторое значение, и вы хотите передать ее обратно вызывающему. Возьмите Math.pow, например. Он принимает два аргумента, базу и экспонента и возвращает базу, поднятую до экспоненты.

Когда значение возвращается из функции, что с ним происходит? он где-то хранится?

Если вы хотите сохранить возвращаемое значение, вы должны назначить его переменной

var value = someFunction();

Здесь сохраняется возвращаемое значение someFunction в value. Если вы вызовете функцию без присвоения возвращаемого значения, тогда значение просто будет отключено:

someFunction();

Это основы программирования и не только релевантны JavaScript. Вы должны найти книгу, в которой представлены эти основы и, в частности, для JavaScript, я рекомендую прочитать Руководство по JavaScript MDN. Может быть, статья Википедии о Функции также полезна.

Ответ 2

Возврат в функции - способ передачи данных из функции.

Пример:

function test(){
   var test = 1+1;
   return test;
}

var feedback = test(); //feedback would now contain the value 2 if outputted.

Мы также можем отправить переменную в функцию, а затем вернуть ее обратно.

Пример 2:

 function test(i){
    i= i+1;
    return i;
 }

 var feedback = test(1); //feedback would also output the value 2.

Ответ 3

Как вы уже упоминали, return дает вам возможность вызвать функцию и сохранить возвращаемое значение.

Вот небольшой пример:

function bla(x) { return "blablabla"; }

Если я вызову метод, я получу строку с blablabla:

var blastring = bla(x);
alert(blastring);

Это приведет к появлению предупреждения с blablabla.

Ответ 4

С return вы указываете, что такое значение function. Вы можете использовать это значение для выполнения дальнейших операций или для хранения его в переменной и т.д.

Так как console.log return undefined, примеры в вашем вопросе эквивалентны, так как function, не достигнув оператора return, вернет undefined. Но позвольте мне привести вам пример:

function sum(arr) {
    var s = 0;
    for (var index in arr) {
        s += arr[index];
    }
    return s;
}

function prodsum(arr, scalar) {
    return scalar * sum(arr);
}

console.log(prodsum([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 3));

Результат будет 165. Если мы удалим return s, то оба function будут return undefined:

function sum(arr) {
    var s = 0;
    for (var index in arr) {
        s += arr[index];
    }
    s;
}

function prodsum(arr, scalar) {
    scalar * sum(arr);
}

console.log(prodsum([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 3));

и результат будет undefined. В принципе, если вы хотите, чтобы function имел заключение или окончательное значение, тогда у вас есть return.

Ответ 5

Если вы просто добавили return; в функцию. Он останавливает выполнение функции.