【发布时间】:2020-03-24 21:46:31
【问题描述】:
我目前正在解决一个练习,我在将一个函数作为参数传递给另一个函数时遇到了问题。
练习是:
1.声明一个函数,它接受两个参数,a 和 b,并返回这些参数的总和。
var add = function(a,b){return a+b;};
2.声明变量calculator,并为其分配一个函数,该函数接受三个参数,a,b 和c。在 calculator 的主体内,调用作为参数 c 传递的函数,作为参数 a 和 b 传递。 var calculator = function(a,b,c=add(a,b))
{ var invoke = c;
console.log(invoke); };
3.invoke 计算将 sum 函数作为第三个参数传递给它。
它应该是这样的吗? calculate(x,y,sum());
提交代码时出现以下错误:函数calculate 应该打印调用undefined 的结果,以x 和y 作为参数;
谁能帮忙?
【问题讨论】:
-
通过将括号
sum()放在这里,您实际上是在调用函数并将其结果作为参数传递 -
你应该这样写
calculate(x,y,sum);。正如@Guerric 所说, sum() 正在调用该函数,并对其进行评估。您希望将包含函数的变量sum作为参数传递给calculate(...)。
标签: javascript function