我什么时候应该使用退货?

时间:2012-01-19 15:05:25

标签: javascript

这是一个小问题,似乎我并不完全明白,

return的用途究竟是什么?在什么情况下我应该使用它?

这些代码示例之间有什么区别?

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

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

要明确:我知道return 做了什么,我只是觉得我不完全理解它的目的,我应该何时使用它

4 个答案:

答案 0 :(得分:3)

如果您的函数需要向调用者返回任何内容,则应使用return。在您的示例中,没有必要使用return,因为console.log已经执行了您希望它执行的操作。但是,如果你的函数计算了某些东西(比如一个数学运算,比如添加它收到的前两个参数),那么逻辑上它“返回”结果,如下所示:

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

这样,函数调用者可以将结果用于它正在做的任何事情。

答案 1 :(得分:2)

return用于将值发送回调用它的位置。如果要返回值,请使用它。

如果您没有return语句,则与return undefined相同。 console.log会返回undefined,因此return console.log(text)会返回undefined

因此,如果您想从函数中获取值,则只有return

答案 2 :(得分:1)

return退出函数,可能带有值。

让我们说我们有这两个功能:

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

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

如果第一个函数fooreturn退出函数,调用函数的结果(例如var c = foo(1, 2))是给return的表达式的结果,在这种情况下,ab的总和。

在第二个函数中,barreturn用于在a大于10时退出函数,但否则函数的执行将继续。它不会返回foo之类的值,因此使用bar作为表达式的一部分可能会导致错误。

答案 3 :(得分:0)

return停止函数的执行,并定义作为调用函数的结果返回的值。