在JavaScript中使用return函数的原因是什么?
在JavaScript中使用return函数的原因是什么?,javascript,Javascript,当我研究JavaScript函数的相关概念时,我发现了一个我无法解决的问题。我使用以下代码,即一个带有返回作为函数,另一个作为简单函数,如下所示 function plus(a, b) { return( console.log(a+b), console.log(this), console.log(arguments) ) } plus(4,5); 及 但当我同时运行这两个命令时,我无法弄清楚,因为这两个命令在控制台中的结果是相同的。所
当我研究JavaScript函数的相关概念时,我发现了一个我无法解决的问题。我使用以下代码,即一个带有返回作为函数,另一个作为简单函数,如下所示
function plus(a, b) {
return(
console.log(a+b),
console.log(this),
console.log(arguments)
)
}
plus(4,5);
及
但当我同时运行这两个命令时,我无法弄清楚,因为这两个命令在控制台中的结果是相同的。所以我只想知道什么时候应该使用return作为函数。?它的主要目的是什么?我在这里看到了答案,但这些答案与返回整个函数或对象有关,但没有找到作为函数返回的具体答案。所以请帮我
return(
console.log(a+b),
console.log(this),
console.log(arguments)
)
声明是指:
返回由(…)
表达式表示的参数。此处括号不是返回
关键字语法的一部分,而是与运算符,
一起使用的独立运算符
计算后的(1,2,3)
表达式返回最后一个表达式的值
在您的例子中,它是console.log(arguments)
,返回undefined
参考资料:
声明是指:
返回由(…)
表达式表示的参数。此处括号不是返回
关键字语法的一部分,而是与运算符,
一起使用的独立运算符
计算后的(1,2,3)
表达式返回最后一个表达式的值
在您的例子中,它是console.log(arguments)
,返回undefined
参考资料:
这
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;
}
或者简单地说(编辑,但是错误的,请参见zerkms评论):
其中,,
是一个表达式-计算由逗号分隔的所有部分以及最后一个表达式的结果。这里不返回函数,在这两种情况下都返回未定义的。@zerkms这是返回
,作为一个函数“不是”返回一个函数,OP的意思必须是使用()
随附的语句列表。@MichaelBerkowski好的。还有一列“表达式”console.log(a+b,这个,参数)
,noreturn
@MichaelBerkowski是的,这正是我的意思。如果你在这里不返回函数,那么在这两种情况下都返回未定义的
。@zerkms thatreturn
“作为函数”而不是“返回函数”,OP的意思必须是调用返回,并附上()
语句列表。@MichaelBerkowski好的。还有一个“表达式”列表console.log(a+b,this,arguments)
,否return
@MichaelBerkowski是的,这正是我的意思。在类似数组的对象中,arguments
不是arguments
数组对象吗?@PHPglue不确定你的意思你说它是未定义的当它是a
和b
时。@zerkms how console.log(arguments)未定义当它像PHPglue提到的那样给出数组时?@PHPglue:控制台。log
调用返回未定义的参数
不是参数
类似数组的对象吗?@PHPglue不确定你说它是未定义的
当它是a
和b
类似数组时对象。@zerkms-console.log(参数)是如何定义的,当它给出PHPglue提到的数组时?@PHPglue:console.log
调用返回undefined
”或者简单地说:“---除非它在语法上不正确。@zerkms谢谢你,现在这样做是有意义的me@c-“微笑,非常感谢你的帮助”或者简单地说:---除非它在语法上不正确。@zerkms谢谢你,现在这样做是有意义的me@c-微笑谢谢你的帮助
function plus(a, b) {
var r =
console.log(a+b),
console.log(this),
console.log(arguments);
return r;
}