我目前正在学习Javascript。我看到了下面的代码,这让我很困惑。的代码使用%模数理解此Javascript代码
描述:
开始第1行,函数ISODD花费数n,并返回一个布尔型(真或假),说明的数量是否是奇数或没有。
代码
var isOdd = function (n) {
if (n % 2 === 0) {
return false;
} else {
return true;
}
};
var isEven = function(n) {
if(n % 2 === 0) {
return true;
} else {
return false;
}
};
当我感到困惑。
代码:
n % 2 === 0
我一直采取以下成为%说明:
% Is the modulus operator. It returns the remainder of dividing number1 by number2.
这将意味着if语句中ISODD返回false功能之间的区别n和2是0.但它的意思是如果n可以被2整除(偶)返回false。
我只是不知道它是如何做到这一点。
在我看来,如果我们把偶数30.应用到n%2.我们得到15,这是30除以2的余数.15不等于0,但30是偶数,并且这个代码会被视为奇怪。
有人可以解释这一点吗?
“if语句在函数isOdd返回false _is之间的差值为2_”它并不意味着差异是0(这意味着它们是相同的数字)。这意味着除数n/2的其余部分为0;)我希望能够帮助 – DiogoNeves 2012-04-18 10:19:43
谢谢,请参阅更新 – RSM 2012-04-18 10:20:37
30%2为零,即在30/2(30除以2为15)后剩下的值。 – Tom 2012-04-18 10:23:31