【发布时间】:2015-11-01 00:02:27
【问题描述】:
这是我为课堂作业编写的代码。作业内容如下:
“构建一个将启动程序的函数。请将其命名为 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>
在此处输入代码
【问题讨论】:
-
getSquareRoot 正在从 main 和 getValue 调用。从任何一个中删除,一切都很好
-
getValue 应该没有参数,您需要将其分配给 main 中的变量,还要在 main 中执行所有输出,它可能会像现在这样工作,但通常不是这样。
标签: javascript function parameters arguments