谁能告诉我一些代码,以确定一个数字在JavaScript是偶数还是奇数?
当前回答
一个可以传递的简单函数。使用模运算符%:
var is_even = function(x) {
return !(x % 2);
}
is_even(3)
false
is_even(6)
true
其他回答
这里有很多答案,但我只想提一点。
通常最好使用模运算符,如% 2,但也可以使用位运算符,如& 1。两者都会产生相同的结果。然而,它们的先例不同。如果你需要一段代码,比如
i%2 === p ? n : -n
这很好,但是对于位运算符,你必须这样做
(i&1) === p ? n : -n
就是这样。
这可以用一小段代码来解决:
function isEven(value) {
return !(value % 2)
}
希望这对你有所帮助。
<script>
function even_odd(){
var num = document.getElementById('number').value;
if ( num % 2){
document.getElementById('result').innerHTML = "Entered Number is Odd";
}
else{
document.getElementById('result').innerHTML = "Entered Number is Even";
}
}
</script>
</head>
<body>
<center>
<div id="error"></div>
<center>
<h2> Find Given Number is Even or Odd </h2>
<p>Enter a value</p>
<input type="text" id="number" />
<button onclick="even_odd();">Check</button><br />
<div id="result"><b></b></div>
</center>
</center>
</body>
你可以使用一个for语句和一个条件语句来确定一个数字或一组数字是否为奇数:
for (var i=1; i<=5; i++)
if (i%2 !== 0) {
console.log(i)
}
这将打印1到5之间的每一个奇数。
刚刚在adobedreamweaver中执行了这个,它工作得很完美。 i using if (isNaN(mynmb))
检查给定的值是否为数字, 我还使用Math.abs(mynmb%2)将负数转换为正数并计算
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body bgcolor = "#FFFFCC">
<h3 align ="center"> ODD OR EVEN </h3><table cellspacing = "2" cellpadding = "5" bgcolor="palegreen">
<form name = formtwo>
<td align = "center">
<center><BR />Enter a number:
<input type=text id="enter" name=enter maxlength="10" />
<input type=button name = b3 value = "Click Here" onClick = compute() />
<b>is<b>
<input type=text id="outtxt" name=output size="5" value="" disabled /> </b></b></center><b><b>
<BR /><BR />
</b></b></td></form>
</table>
<script type='text/javascript'>
function compute()
{
var enter = document.getElementById("enter");
var outtxt = document.getElementById("outtxt");
var mynmb = enter.value;
if (isNaN(mynmb))
{
outtxt.value = "error !!!";
alert( 'please enter a valid number');
enter.focus();
return;
}
else
{
if ( mynmb%2 == 0 ) { outtxt.value = "Even"; }
if ( Math.abs(mynmb%2) == 1 ) { outtxt.value = "Odd"; }
}
}
</script>
</body>
</html>