この関数を変更しない場合:
function operate(operator, operand1, operand2) {
return operator(operand1, operand2);
}
私は書きたい:
var x = operator(add, operate(add, 2, 3), operate(multiply, 4, 5));
x の値として 25 を取得します。これどうやってするの?
この関数を変更しない場合:
function operate(operator, operand1, operand2) {
return operator(operand1, operand2);
}
私は書きたい:
var x = operator(add, operate(add, 2, 3), operate(multiply, 4, 5));
x の値として 25 を取得します。これどうやってするの?
タイプミスがあります。次の場所にoperator
ある必要がありますoperate
。
var x = operate(add, operate(add, 2, 3), operate(multiply, 4, 5));
次に、それぞれが 2 つの引数を取り、適切な操作を実行して 2 つの引数の結果を返す 2 つの関数を定義する必要がありますadd
。multiply
その理由operator
は、関数であることが期待されていますが、実行には次のように定義する必要がadd
あります。multiply
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
ます。
ここでは、「add」と「multiply」を使用している演算子で名前を付けた2つの関数を作成するだけで、javasciptが引数を渡す関数を許可して問題を解決できます
function add(x,y) {
return x + y;
}
function multiply(x,y) {
return x * y;
}
PS:ここにタイプミスがあります「var x = operator(add、operate(add、2、3)、operate(multiply、4、5));」オペレーターはこちらで操作します。