看板 Ajax 關於我們 聯絡資訊
我想用JavaScript寫一個吃角子老虎的小遊戲 但現在發生了很奇怪的bug 我用a == b == c這種方式來判斷這三個變數是不是一樣 但結果很神奇! a和b變數要一樣沒問題 但是c變數一定要等於1才會執行if裡面的程式碼 我也追踪過變數的判斷 確定是c變數為1前面兩個變數一樣就算bingo 我又自己寫一個新檔來試a == b == c 明明就沒問題 以下附上程式碼: <script type="text/javascript"> <!-- num1 = Math.round (Math.random () * 2 + 1); num2 = Math.round (Math.random () * 2 + 1); num3 = Math.round (Math.random () * 2 + 1); function run () { document.getElementById('first').innerHTML = num1; document.getElementById('second').innerHTML = num2; document.getElementById('third').innerHTML = num3; if (num1 == 3) { oldnum1 = num1; num1 = Math.round (Math.random () * 2 + 1); } else { oldnum1 = num1; num1++; } if (num2 == 3) { oldnum2 = num2; num2 = Math.round (Math.random () * 2 + 1); } else { oldnum2 = num2; num2++; } if (num3 == 3) { oldnum3 = num3; num3 = Math.round (Math.random () * 2 + 1); } else { oldnum3 = num3; num3++; } renew = setTimeout ('run ()', 50); } function stop () { clearTimeout(renew); if (oldnum1 == oldnum2 == oldnum3) { alert ("BINGO!"); } } //--> </script> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.8.137
neversay:因為a==b的回傳值就是1呀..... 01/16 21:36
SansWord:真的要的話要用 a == b && b == c 01/16 22:30
SansWord:最好加個括號~要不然你不知道browser怎麼判別 01/16 22:31
BloodyDawn:原來如此,謝謝樓上兩位=v= 01/17 15:25