2016-06-21 2 views
0

Итак, я читал эту книгу под названием: Eloquente JavaScript, и быть правдой в этой книге кажется довольно сложным. Была эта проблема, я должен был вызвать функцию, которая показала истинную или ложную зависимость, если бы значение было ровным или нет. Моя версия намного короче, чем одна из книги. Каким должен быть лучший способ сделать это? И почему он сделал это так?Что такое лучший способ получить четное число?

Eloquente JavaScript код:

function isEven(n) { 
    if (n == 0) 
    return true; 
    else if (n == 1) 
    return false; 
    else if (n < 0) 
    return isEven(-n); 
    else 
    return isEven(n - 2); 
} 

console.log(isEven(50)); 
console.log(isEven(75)); 
console.log(isEven(-1)); 

Мой собственный код:

function even(num) { 
     if (num % 2 == 0){ 
     return true; 
     } 
     else{ 
     return false ; 
     } 
    }; 

    console.log(even(17)); 
    console.log(even(10)); 
    console.log(even(-33)); 
    console.log(even(-40)); 
+0

Это было, вероятно, глава о рекурсии, иначе никто не будет осуществлять это так. – tkausl

+0

Да, это было, так что это было просто для показа? Моя версия правильная? –

+0

Учебники часто делают что-то трудное, потому что они хотят научить определенной языковой концепции. Это правда, что ваша функция «лучше» (хотя 'return num% 2 === 0' было бы еще лучше), но если книга хочет, чтобы вы узнали о рекурсии или иначе, если бы вы делали это по-своему, не научили бы вы те вещи. – JJJ

ответ

-1
function even(num) { 
    return num % 2 === 0; 
} 
+2

На самом деле это не мой вопрос, я знаю, что могу это сделать, я просто хотел знать, почему они этого не делают. –