这是我为课堂作业编写的代码。作业内容如下:
“构建一个启动程序的功能。请将其命名为 main()。 从main()函数中,调用一个名为 getValue()的函数。 getValue()函数将从用户获取将用于下一步的数字。 同样来自main()函数,调用一个名为 getSquareRoot()的函数。 getSquareRoot()函数将获取用户在 getValue()函数中接收的数字的平方根。 确保以易于阅读的声明向用户显示结果,包括数字的原始编号和平方根。
顺便说一句,Bolding包含在原文中。
这是我的代码并且它有效,除了以某种方式调用函数两次,结果显示两次,第二次迭代为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>
在这里输入代码
答案 0 :(得分:0)
您需要记住,每个功能最多只能有1个用途。这里的函数'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);
}
注意它现在在逻辑上是如何分离的。