javascript比较两个值

时间:2013-07-20 05:44:09

标签: javascript html

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

我想将他们输出的数字与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>

6 个答案:

答案 0 :(得分: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。

希望你明白。

答案 1 :(得分:1)

您可以将平等与=====进行比较。

请阅读有关javascript的比较operators

的信息

了解=====的必要性和重要性,它们的使用方式不同。

var x = 5, y = 10;
x === y //false
x === x //true
x == "5" //true
x === "5" //false
x < y //true
x > y // false

答案 2 :(得分:0)

==是比较运算符

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

答案 3 :(得分: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;
}

演示:Fiddle

答案 4 :(得分: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 + ".");
}

Fiddle demo

答案 5 :(得分:0)

通常您会使用==运算符,如果您想进行严格比较,请使用===

e.g。

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

上面,如果a是string,其值为1,b是int且值为1,则会评估为真。

但如果您执行以下操作:

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

a和b都必须是int的{​​{1}}。

在您的情况下,只需string即可。