如何在javascript函数中修复此未定义的输出文本

mjqavswn  于 2021-09-23  发布在  Java
关注(0)|答案(2)|浏览(230)

这个问题在这里已经有了答案

为什么此javascript代码在控制台上打印“未定义”((1个答案)
两天前关门了。
我用javascript制作了一个简单的计算器。我在下面提供这些代码。但问题是当我运行这些代码时。我看到一个未定义的输出。我不知道为什么会出现这段文字。我想把它去掉。

function addition(x, y) {
  var sum = x + y;
  document.write("Addition of two number is : " + sum);
}

function substract(x, y) {
  var sub = x - y;
  document.write("Subtraction of two number is : " + sub);
}

function multiply(x, y) {
  var multiply = x * y;
  document.write("Multipication of two number is : " + multiply);
}

function division(x, y) {
  var division = x / y;
  document.write("Division of two number is : " + division);
}

var x = parseInt(prompt("Enter the first number : "));
var y = parseInt(prompt("Enter the second number : "));

var operator = prompt("Enter the operator : ");

if (operator == "+") {
  document.write(addition(x, y));
} else if (operator == "-") {
  document.write(substract(x, y));
} else if (operator == "*") {
  document.write(multiply(x, y));
} else if (operator == "/") {
  document.write(division(x, y));
} else {
  document.write("Invalid Operator. Please choose operator between +,-,* or /. <br> Thanks for using our calculator. ");
}

3bygqnnd

3bygqnnd1#

使命感 document.write(x) 原因 x 待写。如果 x 是函数调用,它将写入该函数调用返回的任何内容。由于您的所有函数都没有显式返回某些内容,因此它们会返回(在这里) undefined .

myss37ts

myss37ts2#

运算符函数不返回任何内容,它们直接写入页面。但是,执行这些函数的行将这些函数的返回写入页面,这是 undefined 因此,要解决这个问题,您有两个选择:
代替 document.write("blah") 具有 return "blah" 在运算符函数中
去除 document.write() 从调用方: document.write(addition(x, y))

相关问题