我目前正在學習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