alert 을 뜨게 하고 싶은데 왜 이 조건에서는 쓸 수 가 없을까요?
조회수 492회
<!DOCTYPE html>
<html>
<head>
<title>DoubleP</title>
<meta charset="UTF-8" />
</head>
<body>
<h1>Random Number Game</h1>
<form id="playbutton">
<h2>
Generate a number between 0 and
<input id="max" type="number" min="1" required />
</h2>
<h3>
Guess the number :
<input id="guessTheNumber" type="number" min="0" required />
<input type="submit" value="Play!" />
</h3>
</form>
<div id="numbers">
<span id="youwin"></span>
<span id="youlose"></span>
</div>
<script src="src/index.js"></script>
</body>
</html>
const playbutton = document.querySelector("#playbutton");
const youwin = document.querySelector("#youwin");
const youlose = document.querySelector("#youlose");
function handlePlayButton(event) {
event.preventDefault();
const usernumber = document.querySelector("#guessTheNumber").value;
const usernumberInt = Number(usernumber);
const range = document.querySelector("#max");
const range2 = range.value;
const rangeInt = Number(range2);
const randomNumber = Math.ceil(Math.random() * range2);
if (usernumberInt === randomNumber) {
youwin.innerHTML = `You chose : ${usernumberInt}. the machine chose : ${randomNumber}.<br> You win!`;
youlose.innerHTML = "";
} else if (usernumberInt !== randomNumber) {
youlose.innerHTML = `You chose : ${usernumberInt}. the machine chose : ${randomNumber}.<br> You lost!`;
youwin.innerHTML = "";
} else if (usernumberInt > rangeInt) {
alert("Wrong number!");
}
}
playbutton.addEventListener("submit", handlePlayButton);
여기에서 맨 마지막 줄 쯤에서, 들어가는 숫자가 제가 설정 한 Range를 벗어나서 alert 문을 뜨게 하고 싶은데 에러 없이 그냥 실행이 되는 이유를 모르겠습니다.
1 답변
-
if (usernumberInt === randomNumber) { // 조건식1 youwin.innerHTML = `You chose : ${usernumberInt}. the machine chose : ${randomNumber}.<br> You win!`; youlose.innerHTML = ""; } else if (usernumberInt !== randomNumber) { // 조건식2 youlose.innerHTML = `You chose : ${usernumberInt}. the machine chose : ${randomNumber}.<br> You lost!`; youwin.innerHTML = ""; } else if (usernumberInt > rangeInt) { // 조건식3 alert("Wrong number!"); }
if-else의 작동방식 때문에 그렇습니다.
조건식1 > 조건식2 > 조건식3 순으로 보다가 조건식2가 true면 조건식3은 건너뜁니다.
중요한 조건식을 먼저 판단하도록 순서를 바꿔보세요.
댓글 입력