在JavaScript中使用return作为函数的原因是什么?

时间:2015-01-16 01:06:29

标签: javascript


当我浏览与JavaScript函数相关的概念时,我想出了一些我无法弄明白的问题。我使用下面的代码,一个是作为函数返回,另一个是一个简单的函数,如下所示

function plus(a, b) {
   return(
       console.log(a+b),
       console.log(this),
       console.log(arguments)
   )
}
plus(4,5);

function plus(a, b) {      
       console.log(a+b),
       console.log(this),
       console.log(arguments)
}
plus(4,5)

但是,当我同时运行时,我无法弄明白,因为两者在控制台中的结果相同。所以我只想知道何时应该使用return作为函数。它的主要目的是什么?我在这里看到了答案,但那些与返回整个函数或对象相关但没有找到作为函数返回的具体答案。所以请帮助我。

2 个答案:

答案 0 :(得分:5)

return(
       console.log(a+b),
       console.log(this),
       console.log(arguments)
   )

声明表示:

return(...)表达式表示的参数。此处括号不是return关键字语法的一部分,而是与运算符,结合使用的独立运算符。

评估后的(1, 2, 3)表达式返回最后一个表达式的值。

在您的情况下,console.log(arguments)会返回undefined

参考文献:

答案 1 :(得分:1)

这个

function plus(a, b) {
   return(
       console.log(a+b),
       console.log(this),
       console.log(arguments)
   )
}

相当于:

function plus(a, b) {
   var r = (
       console.log(a+b),
       console.log(this),
       console.log(arguments)
   );
   return r; 
}

或者只是这个(编辑,但是错误,请参阅zerkms评论):

function plus(a, b) {
   var r = 
       console.log(a+b),
       console.log(this),
       console.log(arguments);
   return r; 
}

其中,,是一个表达式 - 计算用逗号分隔的所有部分和最后一个表达式的结果。