繁体   English   中英

正确使用比较运算符

[英]Using Comparison Operators correctly

我是HTML新手,之前曾使用Eclipse for Java。 下面我试图让用户输入一个数字(0-5)并让计算机尝试猜测它。

我看了这个,看起来似乎是声音,我从未做过的唯一事情就是在循环结束时将一个项目等于另一个项目。

也是第一次在HTML/JavaScript使用not语句( is it !== or !=? )。

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;
        }
    }
}

我是独立学习这个以备将来使用,希望你能帮忙! 谢谢。

你没有带id cg html元素,所以这行没有document.getElementById("cg").value 但是你有fingers作为html文本框。

也是第一次在HTML / JavaScript中使用not语句(是!==或!=?)。

在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>
<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>

检查你的ID! 你的JS试图找到一个标识为'cg'的元素,但我看到的唯一ID是'button'和'fingers'。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM