Javascript:我正在尝试编写一个计算函数,它将“添加”两个数字并将结果打印为字符串,但我的语法不起作用

时间:2017-03-14 03:19:28

标签: javascript

我正在尝试编写一个计算函数,它将“添加”两个数字并将结果作为字符串打印出来,但我的语法不起作用。你能看看我的代码并告诉我如何解决它吗?后来我想添加更多的数学函数,例如可以插入的除法和多个。谢谢。

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);

1 个答案:

答案 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语句:)