这是一个小问题,似乎我并不完全明白,
return
的用途究竟是什么?在什么情况下我应该使用它?
这些代码示例之间有什么区别?
function fun(text) {
console.log(text);
};
function fun(text) {
return console.log(text);
};
要明确:我知道return
做了什么,我只是觉得我不完全理解它的目的,我应该何时使用它
答案 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'
}
如果第一个函数foo
,return
退出函数,调用函数的结果(例如var c = foo(1, 2)
)是给return
的表达式的结果,在这种情况下,a
和b
的总和。
在第二个函数中,bar
,return
用于在a
大于10时退出函数,但否则函数的执行将继续。它不会返回foo
之类的值,因此使用bar
作为表达式的一部分可能会导致错误。
答案 3 :(得分:0)
return停止函数的执行,并定义作为调用函数的结果返回的值。