[英]How do I write an if/else statement inside a function that tells me if a number is evenly divisible by 2 (in javascript)
我正在通過codacademy工作,但我聽不懂論壇中的幫助討論。
到目前為止,這是我所擁有的,但是當我使用偶數運行函數時,它返回false:
var isEven = function(number) {
if (isEven % 2 == 0){
return true;
}else{
return false;
}
};
您正在對isEven
(函數本身)執行數學運算。 您需要檢查number
:
var isEven = function(number) {
if (number % 2 === 0) {
return true;
} else {
return false;
}
};
或更好:
var isEven = function(number) {
return number % 2 === 0;
};
您甚至可以通過利用1
和0
的真實/虛假行為來做到這一點:
var isEven = function(number) {
return !(number % 2);
};
但是我認為以前的方法更清楚地傳達了邏輯的工作原理。
您可以如下編寫此函數:
var isEven = function(number) {
return ((number % 2) == 0);
}
您的函數無法正常運行,因為您要檢查的是函數名稱,而不是函數參數(數字)。 嘗試這個:
var isEven = function(number) {
return number % 2 == 0;
}
您在isEven
本身中做錯了。
var isEven = function(number) {
return number% 2 == 0;
}
考慮以下:
0
被認為是false
的。 1
在Javascript中被認為是true
的。 !
使false
變為true
,反之亦然。 %
運算符可用於將較高的數字保持在零到一的范圍內。 由於0 % 2
給出0
(即false
),而1 % 2
給出1
(即true
),因此您只需要使用!
求反!
:
function isEven(x) { return !(x % 2); }
console.log(isEven(0)); // true
console.log(isEven(1)); // false
console.log(isEven(2)); // true
console.log(isEven(3)); // false
請注意,這也可以寫成:
function isEven(x) { return (x % 2) == 0; }
...因為:
0 % 2
是0
(因此它是true
地說,它是等於零)。 1 % 2
為1
(因此說它等於零是false
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.