这对我来说是一个函数调用表达式:let calculation = calculate()
,因为它等于某些东西。
但是calculate()
本身如何成为函数调用表达式?我正在看的一个教程基本上说,结尾处的括号是使它成为表达式的原因,对此我感到有些困惑。
与参数有关吗?
答案 0 :(得分:2)
在let calculation = calculate()
中,它将把response
中的calculate()
分配给calculation
,而在calculate()
中,它将不会将response
分配给任何对象。
最后的括号是使它成为表达式的原因
要说明上述内容,假设您未使用parenthesis
,而只是使用let calc = calculate;
,则它将reference
中的calculate
分配给calc
。然后,当您编写calculate()
时,它将调用calc()
。
在下面尝试。
function calculate() {
return 1;
}
let calculation = calculate();
console.log('calculation');
console.log(calculation);
let calc = calculate;
console.log('calc');
console.log(calc);
console.log('calc()');
console.log(calc());