JavaScript添加和乘法

时间:2012-12-08 04:24:13

标签: javascript

不改变此功能:

function operate(operator, operand1, operand2) {
    return operator(operand1, operand2);
}

我想写出来:

var x = operator(add, operate(add, 2, 3), operate(multiply, 4, 5));

得到25作为x的值。我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:3)

您有一个拼写错误,operator应该是operate

var x = operate(add, operate(add, 2, 3), operate(multiply, 4, 5));

然后,您需要将addmultiply定义为2个函数,每个函数接受2个参数,并返回2个参数的结果并执行相应的操作。

答案 1 :(得分:2)

原因是operator应该是一个函数,但执行需要将addmultiply定义为:

function add(x,y) {
    return x + y;
}

function multiply(x,y) {
    return x * y;
}

另外,我认为有一个错字:

ReferenceError: operator is not defined

我会:

var x = operate(add, operate(add, 2, 3), operate(multiply, 4, 5));

这会给x = 25

答案 2 :(得分:0)

这里你可以创建两个在运算符上命名的函数,你使用“add”和“multiply”作为javascipt允许函数传递参数你的问题解决了

function add(x,y) {
    return x + y;
}

function multiply(x,y) {
    return x * y;
}

PS:你这里有一个拼写错误“var x = operator(add,operate(add,2,3),operation(multiply,4,5));” 这里的运营商正在运营。