这个问题在这里已经有了答案:
为什么此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. ");
}
2条答案
按热度按时间3bygqnnd1#
使命感
document.write(x)
原因x
待写。如果x
是函数调用,它将写入该函数调用返回的任何内容。由于您的所有函数都没有显式返回某些内容,因此它们会返回(在这里)undefined
.myss37ts2#
运算符函数不返回任何内容,它们直接写入页面。但是,执行这些函数的行将这些函数的返回写入页面,这是
undefined
因此,要解决这个问题,您有两个选择:代替
document.write("blah")
具有return "blah"
在运算符函数中去除
document.write()
从调用方:document.write(addition(x, y))