为什么这个代码重复

Why does this code repeat?

本文关键字:代码 为什么      更新时间:2023-09-26

这是我为类赋值编写的代码。任务如下:

"生成一个函数来启动程序。请将其称为main()。从main()函数中,调用一个名为getValue()的函数。getValue()函数将从用户那里获取一个数字,该数字将用于下一步。同样从main()函数中,调用一个名为getSquareRoot()的函数。getSquareRoot()函数将获取用户在getValue()数中接收的数字的平方根。确保在易于阅读的语句中向用户显示结果,包括原始数字和数字的平方根。

顺便说一句,粗体字包含在原件中。

这是我的代码,它是有效的,除了以某种方式函数被调用两次,结果被显示两次,第二次迭代为userInput赋值为0。我似乎无法确定"循环"是从哪里开始的(这里是初学者)。任何帮助都将不胜感激;我知道我在盯着它看,但它完全避开了我。

<html lang="en">
<head>
<title>Project 3 Part A</title>
    <meta charset="utf-8">      
    <script>
        function main()
        {
            var msg1="";
            var msg2="";                
            var userInput = "";
            getValue(userInput);
            getSquareRoot(userInput);
        }
        function getValue(userInput)
        {
            var userInput = document.getElementById("userNumber").value;
            return getSquareRoot(userInput);
        }
        function getSquareRoot(userInput)           
        {           
            squareRoot = Math.sqrt(userInput);  
            var msg1 = "Your original number was " + userInput + ".";   
            var msg2 = "The square root of " + userInput + " is " + squareRoot + ".";   
            document.getElementById("original").innerHTML += msg1;
            document.getElementById("results").innerHTML += msg2;
        }


    </script>
</head>
<body>
        <br>
    <input type="button" id="userInputButton" onclick="javascript:main();" value="Square root input value: "/>          
    <input type="text" id="userNumber"> 
    </div>
    <div id="original">
    </div>
    <div id="results">
    </div>                      
</body>

在此处输入代码

您需要记住,每个函数最好只有一个用途。这里的函数"getSquaredRoot"负责计算根,并输出结果供用户查看。

另外,正如Lucky Chingi所说,你给getSquaredRoot打了两次电话。

       function main()
    {
        var userInput = getValue();        
        var squaredRoot = getSquareRoot(userInput);
        var msg1 = "Your original number was " + userInput + ".";   
        var msg2 = "The square root of " + userInput + " is " + squareRoot + ".";   
        document.getElementById("original").innerHTML += msg1;
        document.getElementById("results").innerHTML += msg2;
    }
    function getValue()
    {
        return document.getElementById("userNumber").value;
    }
    function getSquareRoot(userInput)           
    {           
        return Math.sqrt(userInput);  
    }

注意它现在是如何在逻辑上分离的。