我是JavaScript的新手,我有一个作业要把数字提示(Celsius)转换为Fahrenheit和Kelvin,但是我的Fahrenheight和Kelvin在运行程序时显示为undefined,有人解决方案吗?
var celcius;
var fahrenheight;
var kelvin;
celcius = Number(window.prompt("Enter Degree", 50));
document.write(celcius + " degrees Celcius.");
function FahrenheightConvert() {
var fahrenheight = Math.round(9 / 5 * (celcius + 32));
}
document.write("<br>");
document.write(fahrenheight + " degrees Fahrenheight.");
function KelvinConverter(){
var kelvin = (celcius + 273.15);
}
document.write("<br>");
document.write(kelvin + " in Kelvin.");
最佳答案
您的问题是可变范围之一;您实际上并没有将celcius
传递给任何一个函数。除此之外,出于相同的原因,您不会在函数中检索分配给fahrenheight
或kelvin
的值。
要更正此问题,您需要将celcius
作为函数参数传递给两个函数,并确保实际调用它们:
var celcius;
var fahrenheight;
var kelvin;
celcius = Number(window.prompt("Enter Degree", 50));
document.write(celcius + " degrees Celcius.");
function FahrenheightConvert(celcius) {
var fahrenheight = Math.round(9 / 5 * (celcius + 32));
document.write(fahrenheight + " degrees Fahrenheight.");
}
document.write("<br>");
FahrenheightConvert(celcius);
function KelvinConverter(celcius) {
var kelvin = (celcius + 273.15);
document.write(kelvin + " in Kelvin.");
}
document.write("<br>");
KelvinConverter(celcius);
另外,您根本根本不使用函数,因为它们会产生相同的效果(因为所有变量都在同一范围内)。
关于javascript - JavaScript新手需要将Celsius转换为Fahrenheit和Kelvin,为什么我的代码无法正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54699275/