我正在浏览一些教程,看到了这段我无法理解的代码块。有人可以引导我完成它吗?不明白return最终是怎么执行变量函数的。
var plus = function(x,y){ return x + y };
var minus = function(x,y){ return x - y };
var operations = {
'+': plus,
'-': minus
};
var calculate = function(x, y, operation){
return operations[operation](x, y);
}
calculate(38, 4, '+');
calculate(47, 3, '-');
最佳答案
operations 是一个以 + 和 - 作为键的对象,因此通过将其中一个传递给它,您将得到
operations['+'] = plus
现在,括号表示函数调用,也可以像本例中那样通过变量进行调用。所以翻译过来的return语句无非就是
return plus(x,y);
var calculate = function(x, y, operation){
return operations[operation](x, y); // operations['+'] = plus
}
调用上述方法并返回该方法返回的值。
关于Javascript 计算器函数 : How does it work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31633694/