2012-01-19 2 views
2

Это мелочный основной вопрос, который кажется мне не совсем понятным,Когда я должен использовать возврат?

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

Какая разница между этими образцами кода?

function fun(text) { 
    console.log(text); 
}; 

function fun(text) { 
    return console.log(text); 
}; 

Чтобы было ясно: я знаю, что returnделает, я просто не чувствую, что я полностью понимаю, что это цель, и когда я должен использовать его

+1

использовать его, когда кто-то хочет/нуждается в выходном значении функции – Raynos

ответ

3

Вы должны использовать return, если ваша функция должна, ну, вернуть что-либо своему вызывающему. В вашем примере нет необходимости использовать return, потому что console.log уже делает то, что вы хотите. Но, если ваша функция вычисляет что-то (например, математические операции, как добавление первые два Params он получает), то логичнее «возвращает» результат, как это:

function add(a, b) { 
    return a + b; 
} 

Таким образом, функция Вызывающий можно использовать результат за все, что он делает.

2

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

Если у вас нет оператора возврата, это то же самое, что и return undefined. console.log возвращает undefined, поэтому return console.log(text) возвращает undefined.

Итак, только return, если вы хотите получить значение от функции.

0

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

1

return выходит из функции, возможно со значением.

Допустим, у нас есть эти две функции:

function foo(a, b) { 
    return a + b; 
} 

function bar(a) { 
    if (a > 10) 
     return; 
    // Do something with 'a' 
} 

Если первая функция, foo, return выходит из функции и результат вызова функции (например, var c = foo(1, 2)) является результатом выражения данного в return , в этом случае сумма a и b.

Во второй функции bar, return используется для выхода из функции, если a больше 10, но в противном случае выполнение функции продолжается. Он не возвращается с таким значением, как foo, поэтому использование bar как части выражения может привести к ошибке.

Смежные вопросы