javascrpit-if语句不起作用。不将数字与变量对齐

时间:2019-09-19 13:59:23

标签: javascript if-statement

stackoverflow的大家好,

我遇到了一个问题,控制台无法像我希望的那样打印出“ geschafft”。 我想建立一个网站,在这里它很重要,您键入数字的速度如何,所以我需要检查用户键入的数字是否等于给定的数字。无效的代码是:

var gedrueckt = "";
var zahl = "";
var spielerZahl = '';
//erzeugen der Zufallszahl
var min = 0;
var max = 9;
var zahl = Math.round(Math.random() * (max - min)) + min;
console.log(zahl);
//Zahl in HTML ausgeben
document.getElementById("zutippen").innerHTML = zahl;

//Erkennung der Taste
window.addEventListener("keydown", TasteGedrueckt,);
function TasteGedrueckt (evt) {
     gedrueckt = evt.key;
        if (gedrueckt == 1){
            spielerZahl = 1;
        }
        else if (gedrueckt == 2){
            spielerZahl = 2;
        }
        else if (gedrueckt == 3){
            spielerZahl = 3;
        }
        else if (gedrueckt == 4){
            spielerZahl = 4;
        }
        else if (gedrueckt == 5){
            spielerZahl = 5;
        }
        else if (gedrueckt == 6){
            spielerZahl = 6;
        }
        else if (gedrueckt == 7){
            spielerZahl = 7;
        }
        else if (gedrueckt == 8){
            spielerZahl = 8;
        }
        else if (gedrueckt == 9){
            spielerZahl = 9;
        }
        else if (gedrueckt == 0){
            spielerZahl = 0;
        }
        console.log(spielerZahl);
}

//Überprüfung ob zahl gleich
if (zahl == spielerZahl){
    console.log("geschafft!");
}

对不起,我的英语不好,我希望有人能帮助我。 Google搜索了三天,还尝试了parseInt,但似乎没有任何效果。

2 个答案:

答案 0 :(得分:2)

您需要在用户按下按键后进行检查,因此检查必须由事件侦听器调用。 您也可以通过执行+evt.key === zahlevt.key == zahl来检查密钥是否相同。

var min = 0;
var max = 9;
var zahl = Math.round(Math.random() * (max - min)) + min;
console.log(zahl);
document.getElementById("zutippen").innerHTML = zahl;
window.addEventListener("keydown", TasteGedrueckt);

function TasteGedrueckt(evt) {
  if (+evt.key === zahl) {
    console.log("geschafft!");
  }
}
<div id="zutippen"></div>

我认为您最终会希望它可以用于1个以上的项目,在这种情况下,您可以这样做:

var min = 0;
var max = 9;
var zahl;
window.addEventListener("keydown", TasteGedrueckt);
nextNumber();

function TasteGedrueckt(evt) {
  if (+evt.key === zahl) {
    console.log("geschafft!");
    nextNumber();
  }
}

function nextNumber() {
  zahl = Math.round(Math.random() * (max - min)) + min;
  console.log(zahl);
  document.getElementById("zutippen").innerHTML = zahl;
}
<div id="zutippen"></div>

答案 1 :(得分:1)

var gedrueckt = "";
var spielerZahl = '';
//erzeugen der Zufallszahl
var min = 0;
var max = 9;
var zahl = Math.round(Math.random() * (max - min)) + min;


function TasteGedrueckt (evt) {
  console.log('spielerZahl: ' + evt.key);
  //Überprüfung ob zahl gleich
  if(evt.key == zahl) {
    console.log("geschafft!");
  }   
}

//Zahl in HTML ausgeben
document.getElementById("zutippen").innerHTML = 'Gesuchte Zahl: ' + zahl;
window.addEventListener("keydown", TasteGedrueckt);
<div id="zutippen"></div>