當結果匹配時,它不會顯示第一條訊息,它只會在您丟失時顯示訊息。
我已經對其進行了調整,最終它要么總是說你贏了,即使它告訴你你猜的不匹配
JS代碼
function play(){
let random = Math.floor(Math.random() * 3 1)
let guess = document.querySelector('#myguess').value;
let pick = document.querySelector('#pick');
if (guess.value === random){
pick.innerText = 'You picked ' guess " the result was " random " Congrats!, you guessed correctly"
}
else {
pick.innerText = 'You picked ' guess " the result was " random " Looks like you guessed incorrectly! Sorry :("
}
}
document.getElementById('btn').addEventListener("click", play)
html
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Guess the number</title>
<!-- stylesheet -->
<link rel="stylesheet" href="/Users/leon/Desktop/Webdevelopment/guessinggame/guessstyles.css">
<!-- global fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Roboto Mono&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fork-awesome/1.2.0/css/fork-awesome.min.css" integrity="sha512-aupidr80M36SeyviA/hZ2uEPnvt2dTJfyjm9y6z1MgaV13TgzmDiFdsH3cvSNG27mRIj7gJ2gNeg1HeySJyE3Q==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<!-- font awesome -->
</head>
<body>
<div >
<div >
<h2>Pick A Number between 1 and 3</h2>
</div>
<div >
<input type="number" id="myguess">
<button id="btn" onclick="play()">Submit</button>
</div>
<div >
<p id="pick">Let's see if you picked the correct number?</p>
</div>
</div>
</body>
<script src="/Users/leon/Desktop/Webdevelopment/guessinggame/guessindex.js"></script>
</html>
uj5u.com熱心網友回復:
在這個比較中:
if (guess.value === random){
guess是一個字串guess.value是undefinedrandom是一個數字===檢查型別相等和值相等
首先,洗掉,.value因為它不是字串的屬性。除此之外,您可以進行較弱的非型別檢查比較:
if (guess == random){
或者您可以轉換型別,例如將字串決議為數字:
if (parseInt(guess) === random){
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/505312.html
標籤:javascript if 语句 dom
