在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>
答案 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";
}
}
(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 + ".");
}
答案 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
即可。