-1

在 Js 中我如何比较两个值。我有三个按钮,每个按钮在1和之间生成一个数字3

我想将它们输出的数字与 的数字进行比较button,例如第一个按钮可能是1,第二个2,第三个3

如果按钮生成的数字与 2 相同,则表示为平局。

function Random()
{
    var result = display.innerHTML = Math.floor((Math.random() * 3) + 1);
}

HTML 代码:

<form>
    <input id="rock"     type="button" onclick="Random()" value="Rock"     />
    <input id="paper"    type="button" onclick="Random()" value="Paper"    />
    <input id="scissors" type="button" onclick="Random()" value="Scissors" />
</form>
4

6 回答 6

2

===用于严格比较运算符

var display = document.getElementById("respective selector ID");
var result = parseInt(display.innerHTML) === Math.floor((Math.random() * 3) + 1);

更新:

既然你更新了你的问题,在这里

HTML:

 <form>
        <input id="rock" type="button" onclick="Random(this.id)" value="1" />
        <input id="paper" type="button" onclick="Random(this.id)" value="2" />
        <input id="scissors" type="button" onclick="Random(this.id)" value="3" />
    </form>
    <span id="show"></span>

JS:

function Random(id) {
    var display= parseInt(document.getElementById(id).value); 
    if( display === Math.floor((Math.random() * 3) + 1)){
        document.getElementById('show').innerHTML = "EQUAL";
    }
    else{
          document.getElementById('show').innerHTML = "NOT EQUAL";
    }
}

JSFiddle

(1) innerHTML/value总是返回string数据类型,所以我使用了.parseInt()
(2)onclick="Random(this.id)"使用这个我传递了按钮的 id。

希望你能理解。

于 2013-07-20T05:48:28.853 回答
1

您可以将相等性与==or进行比较===

请阅读 javascript 的比较运算符

并了解两者的需求和重要性,==它们===的使用方式不同。

var x = 5, y = 10;
x === y //false
x === x //true
x == "5" //true
x === "5" //false
x < y //true
x > y // false
于 2013-07-20T05:49:10.993 回答
0

通常你会使用==操作符,如果你想要一个严格的比较,使用===.

例如

if(a == b)
{/*if true*/}

上面,如果 a 是string值为 1 的 a 并且 b 是int值为 1 的 a,它将评估为真。

但如果您执行以下操作:

if(a === b)
{/*if true*/}

a 和 b 都必须是 中的任何int一个string

在你的情况下,就==可以正常工作。

于 2013-07-20T06:21:51.977 回答
0

或者,如果你更喜欢使用 jQuery,你可以使用这个:

<button id="button_1" onclick="myRandom('button_1')">1</button>
<button id="button_2" onclick="myRandom('button_2')">2</button>
<button id="button_3" onclick="myRandom('button_3')">3</button>

在javascript中:

function myRandom(id) {
    a = Math.floor((Math.random() * 3) + 1);
    if ($("#" + id).html() == a)
        alert("Button " + $("#" + id).html() + " is Match. Generated value is " + a + ".");
    else
        alert("Button " + $("#" + id).html() + " is not Match. Generated value is " + a + ".");
}

小提琴演示

于 2013-07-20T06:03:55.487 回答
0

== 是比较运算符

function Random()
{
    var result = display.innerHTML == Math.floor((Math.random() * 3) + 1);
}
于 2013-07-20T05:46:22.060 回答
0

我从您之前关于同一问题的问题中复制了一些部分

<input id="rock" type="button" onclick="Random(0)" value="Rock"/>
<input id="paper" type="button" onclick="Random(1)" value="Paper"/>
<input id="scissors" type="button" onclick="Random(2)"  value="Scissors"/>
<br />
<span id="display"></span>

然后

function Random(choice) {
    var system = Math.floor(Math.random() * 3);
    display.innerHTML = system == choice ? 'draw' : system;
}

演示:小提琴

于 2013-07-20T05:53:15.973 回答