拾取随机数游戏的Javascript代码不起作用
我刚开始学习javascript,我想尝试编写一个简单的游戏来测试我的技能。很明显,我的代码很少,因为基本游戏的代码不起作用 在这个游戏中,用户会被提示通过点击按钮生成一个随机数,一旦他们点击按钮,他们就可以输入猜测并提交。提交猜测后,他们可以单击最后一个按钮查看猜测是否正确 不幸的是,当我试图运行代码时,它跳过了if-else语句,无论我插入了什么,我都不知道为什么。我将非常感谢你的帮助。请不要只是给我一个更好的代码,我知道有很多更简单的方法我可以写它。但是,能够在这样一个简单的程序中发现并分类bug,可能会在将来帮助我在自己的代码中发现bug 谢谢 这是密码……别取笑我,我是新手拾取随机数游戏的Javascript代码不起作用,javascript,debugging,Javascript,Debugging,我刚开始学习javascript,我想尝试编写一个简单的游戏来测试我的技能。很明显,我的代码很少,因为基本游戏的代码不起作用 在这个游戏中,用户会被提示通过点击按钮生成一个随机数,一旦他们点击按钮,他们就可以输入猜测并提交。提交猜测后,他们可以单击最后一个按钮查看猜测是否正确 不幸的是,当我试图运行代码时,它跳过了if-else语句,无论我插入了什么,我都不知道为什么。我将非常感谢你的帮助。请不要只是给我一个更好的代码,我知道有很多更简单的方法我可以写它。但是,能够在这样一个简单的程序中发现并分
<!DOCTYPE html>
<html>
<body>
<button onclick="genNum()"> Random Number </button>
<p id="demo"></p>
<form id="form1">
Guess: <input name="userGuess" type="number" size="20">
</form>
<button onclick="outputnum()"> Submit </button>
<button onclick="guessNum()"> Run Guess Num Function </button>
</body>
随机数
猜测:
提交
运行Guess Num函数
var-ranNum;
函数genNum(){
var ranNum=Math.floor(Math.random()*101);
document.getElementById(“demo”).innerHTML=
兰努姆;
}
函数outputnum(){
x=document.getElementById(“form1”);
userguess=x.elements[“userguess”].value;
}
函数guessNum(){
if(ranNum==userguess){
警惕(“你70岁”);
}else if(ranNum
当您使用var ranNum
声明变量时,这将使其成为包含声明的函数的局部变量。因此,genNum
正在为局部变量赋值,而guessNum
正在查看全局变量
从genNum
中的赋值中删除var
关键字
欢迎来到Stack Overflow Duckling70。此外,欢迎使用JavaScript
请在此处查看代码的工作示例
范围内的简短教训
JavaScript变量声明很有趣,因为它是动态的,并且是被提升的。让我向您展示一个示例,说明函数“闭包”和范围是如何相互作用的:
var num = 3;
function printThree() {
return num
}
printThree() // returns 3 bc it can access the num variable set on "global scope"
console.log(num) // returns 3 from global scope
function printFive() {
var num = 5; // this variable exists only within this function
return num;
}
printFive() // returns 5 because it references num from the scope of the function
console.log(num) // returns 3 because it does not have access to the scope within the function
完整HTML解决方案
最后,这里是问题的总结性解决方案代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h1>Steps</h1>
<ol>
<li>Click Random Number.</li>
<li>Enter your guess then click Submit.</li>
<li>Click Run Guess Num Function to see how close you got!</li>
</ol>
<button onclick="genNum()">Random Number</button>
<p id="demo"></p>
<form id="form1">
Guess:<input name="userGuess" type="number" size="20">
</form>
<button onclick="setOutputNum()">Submit</button>
<button onclick="compareGuessToNum()">Run Guess Num Function</button>
</body>
<script>
var ranNum;
var userGuess;
function genNum() {
ranNum = Math.floor(Math.random() * 101);
document.getElementById("demo").innerHTML = ranNum;
}
function setOutputNum() {
var x = document.getElementById("form1");
userGuess = x.elements["userGuess"].value;
// Set userGuess to number instead of string
userGuess = +userGuess
}
function compareGuessToNum() {
if (ranNum === userGuess) {
alert("You are 70");
} else if (ranNum < userGuess) {
alert("Less than 70");
} else {
alert("More than 70");
}
}
</script>
</html>
台阶
单击“随机数”
输入您的猜测,然后单击提交
单击RunGuess Num函数查看您的距离李>
随机数
猜测:
提交
运行Guess Num函数
兰努姆变种;
var-userGuess;
函数genNum(){
ranNum=Math.floor(Math.random()*101);
document.getElementById(“demo”).innerHTML=ranNum;
}
函数setOutputNum(){
var x=document.getElementById(“form1”);
userGuess=x.elements[“userGuess”].value;
//将userGuess设置为数字而不是字符串
userGuess=+userGuess
}
函数compareGuessToNum(){
if(ranNum==userGuess){
警惕(“你70岁”);
}else if(ranNum
进一步阅读
对范围有一个很好的解释。我没有调试,但您可以这样做:不要忘记选择答案!:-)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h1>Steps</h1>
<ol>
<li>Click Random Number.</li>
<li>Enter your guess then click Submit.</li>
<li>Click Run Guess Num Function to see how close you got!</li>
</ol>
<button onclick="genNum()">Random Number</button>
<p id="demo"></p>
<form id="form1">
Guess:<input name="userGuess" type="number" size="20">
</form>
<button onclick="setOutputNum()">Submit</button>
<button onclick="compareGuessToNum()">Run Guess Num Function</button>
</body>
<script>
var ranNum;
var userGuess;
function genNum() {
ranNum = Math.floor(Math.random() * 101);
document.getElementById("demo").innerHTML = ranNum;
}
function setOutputNum() {
var x = document.getElementById("form1");
userGuess = x.elements["userGuess"].value;
// Set userGuess to number instead of string
userGuess = +userGuess
}
function compareGuessToNum() {
if (ranNum === userGuess) {
alert("You are 70");
} else if (ranNum < userGuess) {
alert("Less than 70");
} else {
alert("More than 70");
}
}
</script>
</html>