2015-05-28 3 views
4

Я новичок в HTML и уже давно использовал Eclipse для Java. Ниже я пытаюсь, чтобы пользователь вводил число (0-5), и попробовал компьютер и угадал его.Использование операторов сравнения правильно

Я просмотрел это, и кажется, что это звучит, единственное, чего я никогда не делал, - это поставить элемент, равный другому элементу в конце цикла.

Также первый раз, когда нет заявлений (is it !== or !=?) в HTML/JavaScript.

HTML

<p>How many fingers am I holding up?</p> 
<input id="fingers"></input> 
<div> 
    <button id="button">Input fingers</button> 
</div> 

JavaScript

var i = 0; 
var cg = 0; 

document.getElementById("button").onclick = function() { 
    while (i !== fingers) { 
     cg = Math.random(); 
     cg = cg * 6; 
     cg = Math.floor(cg); 

     if (document.getElementById("cg").value !== fingers) { 
      alert("Wrong we found " + cg); 
      i = cg; 
     } else { 
      alert("The number of fingers is " + cg); 
      i = cg; 
     } 
    } 
} 

Я самостоятельно учиться это для будущего использования, я надеюсь, что вы можете помочь! Благодарю.

+0

использованию CG = пальцы и установите значение пальцев первым!. его undefined в сценарии – Sushil

ответ

6

У вас нет элемента html с идентификатором cg, поэтому эта строка не работает document.getElementById("cg").value. Однако у вас есть fingers как текстовое поле html.

Также первый раз, используя не утверждения (это! == or! =?) В HTML/JavaScript.

В js оба действительны, но они отличаются по функциональности, != имеет накладные расходы на конвертацию. Напр.

5 != '4' // true 
5 != '5' // false 

5 !== '4' // true 
5 !== '5' // true 

5 !== 5 // false 
5 !== 4 // true 

Я попытался исправить свой код, и я закончил с этим, надеюсь, что это помогает:

<script type="text/javascript"> 

var cg; 
var fingers = document.getElementById("fingers"); 

document.getElementById("button").onclick=function() { 
    cg = Math.floor(Math.random() * 6); 
    if (fingers.value != cg) { 
    alert ("Wrong, it was: " + cg); 
    } 
    else { 
    alert ("Right !!"); 
    } 
}; 
</script> 
+0

Спасибо. Это объясняет, что я хотел. Парень ниже показал метод parseInt. Это ново для меня. Это было полезно и спасибо. – Javaturtle

+0

Спасибо за добавленное обновление, это имеет больше смысла для меня. – Javaturtle

2

Проверьте свои идентификаторы! Ваш JS пытается найти элемент, который идентифицируется как «cg», но единственными идентификаторами, которые я вижу, являются «кнопка» и «пальцы».

+0

Спасибо, это привлекло мое внимание. – Javaturtle

4
<script type="text/javascript"> 
    var i = 0; 
    var cg = 0; 

    document.getElementById("button").onclick = function() { 
     while (i !== fingers.value) { 
      cg = Math.random(); 
      cg = cg * 6; 
      cg = Math.floor(cg); 

      if (parseInt(cg) !== parseInt(fingers.value)) { 
       alert("Wrong we found " + cg); 
       i = cg; 
      } else { 
       alert("The number of fingers is " + cg); 
       break; 
      } 
     } 
    } 
</script> 
+0

Спасибо, что показал мне ParseInt. Я просматривал онлайн, пытаясь найти способы заставить переменную работать. Спасибо. – Javaturtle

+0

Просто не забудьте определить radix для parseInt (т.е. 'parseInt (s, 10)' или вы можете в итоге разобрать восьмеричные цифры вместо десятичных знаков – K3N

Смежные вопросы