Javascript 在if语句中执行错误的函数

Javascript 在if语句中执行错误的函数,javascript,Javascript,/* 游戏功能: -玩家必须猜一个最小值和最大值之间的数字 -玩家得到一定数量的猜测 -通知玩家剩余的猜测 -如果球员犯规,请用正确的号码通知他 -让玩家选择再次玩 */ //变化无常 //游戏价值 设min=1, 最大值=10, winningNum=2, 猜左=3; //UI元素 const game=document.getElementById('game'), minNum=document.querySelector('.min num'), maxNum=document.quer

/*
游戏功能:
-玩家必须猜一个最小值和最大值之间的数字
-玩家得到一定数量的猜测
-通知玩家剩余的猜测
-如果球员犯规,请用正确的号码通知他
-让玩家选择再次玩
*/
//变化无常
//游戏价值
设min=1,
最大值=10,
winningNum=2,
猜左=3;
//UI元素
const game=document.getElementById('game'),
minNum=document.querySelector('.min num'),
maxNum=document.querySelector('.max num'),
guessBtn=document.getElementById('guess-btn'),
guessInput=document.getElementById('guess-input'),
message=document.querySelector('.message');
//分配ui最小值和最大值
minNum.textContent=min;
maxNum.textContent=max;
//事件侦听器
函数loadEventListener(){
//听一听猜测
guessBtn.addEventListener('click',checkGuess');
};
loadEventListener();
//检查输入的号码
函数checkGuess(){
让guess=parseInt(guessInput.value);
//验证输入
如果(isNaN(猜测)| |猜测<最小值| |猜测>最大值){
console.log('here')
///////当条件为真时,下面的代码setMessage不执行////
setMessage(`请输入介于${min}和${max}`之间的数字,`红色');
console.log('再次出现在这里')
};
//检查是否赢了
如果(猜测===winningNum){
//就在这里
//数据安全输入
guessInput.disabled=true;
//更改边框颜色
guessInput.style.borderColor='绿色';
//设置消息
setMessage(`winningNum}是正确的..你赢了游戏!!`green');
}否则{
//这里的情况不对
猜左-=1;
如果(猜测左===0){
//比赛输了
//禁用输入
guessInput.disabled=true;
//更改边框颜色
guessInput.style.borderColor='红色';
//设置消息
setMessage(`Game over..!正确的数字是${winningNum}..`,'red');
}否则{
//游戏继续-回答错误
//更改边框颜色
guessInput.style.borderColor='红色';
//清晰输入
猜测输入值=“”;
//告诉用户它的号码
setMessage(`${guess}不正确,${guessleft}左猜。`,'orange')
};
}
};
//设置消息
函数设置消息(消息,颜色){
message.style.color=颜色;
message.textContent=msg;
}

数字猜测者
数字猜测者
猜一个数字
及


您的问题是,当验证失败时,您没有退出
checkGuess()
函数

如果添加
返回显示失败的验证错误后,它将解决您的问题

function checkGuess() {
    let guess = parseInt(guessInput.value);

    //validate the input
    if(isNaN(guess) || guess < min || guess > max ) {
        setMessage(`Please enter a number between ${min} and ${max}` , 'red');

        return; // exit the function here, since we've failed validation
    };
函数checkGuess(){
让guess=parseInt(guessInput.value);
//验证输入
如果(isNaN(猜测)| |猜测<最小值| |猜测>最大值){
setMessage(`请输入介于${min}和${max}`之间的数字,`红色');
return;//退出此处的函数,因为验证失败
};

我希望您不要期望我们计算您的行数……在
//UI元素
下的那些声明中,它们是指所有常量,还是一个常量和变量。在这里添加关键字很有用,这样解释器和人就不会混淆。@Justinas是的,您应该标记行,也许可以用注释向我们显示哪一行是ren不工作抱歉,我以为它会显示每行的编号。我现在就更改它。设置错误消息后,添加
返回;
。目前,它无法验证,显示错误消息,然后继续处理。在进一步操作之前,您需要停止它(或将其余代码包装在
else
块中).没问题-很乐意帮忙:)