我正在尝试编写一个计算函数,它将“添加”两个数字并将结果作为字符串打印出来,但我的语法不起作用。你能看看我的代码并告诉我如何解决它吗?后来我想添加更多的数学函数,例如可以插入的除法和多个。谢谢。
var add = function(x,y){
return x+y;
};
var calculate = function(string,x,y){
if(string === "add"){
var result = console.log(x + "+ " y + "= " + add(x,y));
return result;
}
};
calculate("add",5,6);
答案 0 :(得分:2)
+
之前您错过了y
个签名
这样:
var result = console.log(x + "+ " y + "= " + add(x,y));
必须是
var result = console.log(x + "+ " + y + "= " + add(x,y));
无论如何,你的功能看起来不正确。 console.log
不返回任何内容,您的result
变量将始终评估为undefined
,并且函数也将始终返回undefined
。
此外,您的 calculate
功能实际上计算并输出结果,对于调用此方法并中断single-responsibility principle的人来说,这可能不是那么透明。
将计算和演示分开是个更好的主意:
function add(x,y){
return x+y;
}
function calculate(action,x,y){
if(action === "add") {
return x + "+ " + y + "= " + add(x,y);
}
}
var result = calculate("add",5,6);
console.log(result);
如果您有两个以上的操作,您可能还希望以后将if (action === "add")
替换为switch
语句:)