javascript - JavaScript新手需要将Celsius转换为Fahrenheit和Kelvin,为什么我的代码无法正常工作?

标签 javascript

我是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传递给任何一个函数。除此之外,出于相同的原因,您不会在函数中检索分配给fahrenheightkelvin的值。

要更正此问题,您需要将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/

相关文章:

javascript - 生成器是否同时返回迭代器和可迭代对象?

javascript - Jquery 幻灯片不工作

javascript - 如何摆脱添加到字符串开头的随机 "%3"

Javascript:阻止浏览器在按下向下键时显示字段的输入历史记录

javascript - 如何在选择单选按钮时显示元素并在未使用 javascript 选择时隐藏它?

javascript - JavaScript 对象的 ClojureScript 深度相等

javascript - CSS 问题,自动更正宽度

javascript - 从不同文件将 html 加载到 div 后如何使用 javascript 编辑标签?

javascript - 如何获取事件按钮 ref 属性并将其分配给 vue.js 中的变量

javascript - 为什么 jquery mobile 不适用于 Phonegap?