簡體   English   中英

如何在函數中編寫if / else語句,該函數告訴我數字是否可以被2整除(在javascript中)

[英]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;
};

您甚至可以通過利用10的真實/虛假行為來做到這一點:

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;
}

考慮以下:

  • 在Javascript中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 % 20 (因此它是true地說,它是等於零)。
  • 1 % 21 (因此說它等於零是false )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM