【发布时间】:2016-08-09 23:56:38
【问题描述】:
我们在 JavaScript 函数中可选地使用 return 语句。这是一个关键字。但是return 本身的实际类型是什么。其实看到这个例子我就糊涂了:
function add(a, b) {
return (
console.log(a + b),
console.log(arguments)
);
}
add(2, 2);
输出:
4
[2, 2]
因此,我们可以将逗号分隔的表达式传递到 return 语句中。这是一个函数吗?
从这里开始,我们可以大胆猜测 JavaScript 中的每个关键字最终都是一个函数吗?
我写了一个小博客作为讨论的要点。你可能想检查一下here。
【问题讨论】:
-
就在你以为你理解 JavaScript 的时候,出现了这样的事情......
-
括号不代表你在调用函数,例如:
var a = (2 + 2). -
一个更合适的例子是
var a = (1, 2)——这将导致a的值2由于逗号运算符的操作方式(是的,逗号是一个数学运算符,如+或|等,具体来说,在拉姆巴达演算中,逗号运算符实现了 K 组合子) -
那么正确的做法是揭穿误解,而不是投反对票。
-
@FlorianPeschka 不是,这是任何 C 风格语言的标准行为。
标签: javascript return keyword