在JavaScript中根据isOdd定义isEven

在JavaScript中根据isOdd定义isEven,javascript,boolean,Javascript,Boolean,我正在做一个编码我的练习: 还记得练习3.4中的isOdd和isEven功能吗 我们希望你在这里再次编码!但这一次,目标是使用!象征 定义isOdd,然后根据isOdd定义isEven 我尝试了一些我认为有效的方法, 比如console.log(!isOdd(1)) 和 (n!%2==), 他们都不对 以下是我的代码: var isOdd = function (n) { if (n % 2 ===0) { return false; } else { return true; } };

我正在做一个编码我的练习:

还记得练习3.4中的isOdd和isEven功能吗

我们希望你在这里再次编码!但这一次,目标是使用!象征

定义isOdd,然后根据isOdd定义isEven

我尝试了一些我认为有效的方法, 比如
console.log(!isOdd(1))
(n!%2==)
, 他们都不对

以下是我的代码:

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;
}
};
console.log(isOdd(1));
console.log(isOdd(2));
console.log(isOdd(999));
这很简单:

var isEven = function (n)
{
    return !isOdd(n);
}

根据定义,这些答案是错误的

数字是一个整数和浮点数

所有提交的答案都适用于整数

以下是适当的定制回应

function isEven(n) { // covers all
    return (n).toString(2).endsWith(‘0’) // binary format
}

function isEven_integer(n) {
    return (n & 1) === 0;
}

function isEven_float(n) {
    // floats only, but works on integers.// faster for floats
    return ((n).toString()[(n).toString().length-1] % 2) === 0; // base 10
}

当然,你没有用
定义
isEven()
,而是用
定义
isOdd()
接线员。我不知道为什么我没有想到这一点。答案总是那么简单。好的,非常感谢。我一定要把这个写在纸上,一遍又一遍。我是在codecademy中做的,它显示正确,但输出中有些不正确。。请检查..此代码没有根据isOdd定义isEven,因此不是对原始问题的回答。很可能是由于验证代码中存在缺陷。请参考上面@Ned Batchelder的答案,以获得正确的实现。提供了此提示,这就是我刚才执行此操作的原因---------------------------------要定义isOdd函数,您需要使用:a)模%符号。b) 函数体中的If/else语句我指的是赋值的“define isEven in term of isOdd”部分,而不是isOdd本身的实现(顺便说一句,这在您的代码中非常好)。
var isOdd = function(n){
 if (n % 2 !== 0)  {
 return true;
 }  else  {
 return false;}
 };

var isEven = function(n){
 return !isOdd(n) ;
 };
 console.log(isOdd(11));
 var isOdd = function(n)
{
    if(n%2 !== 0)
    { return ("odd");}
};    

var isEven = function (n)
{
 return !isOdd(n);
};

console.log(isEven(8));
function isEven(n) { // covers all
    return (n).toString(2).endsWith(‘0’) // binary format
}

function isEven_integer(n) {
    return (n & 1) === 0;
}

function isEven_float(n) {
    // floats only, but works on integers.// faster for floats
    return ((n).toString()[(n).toString().length-1] % 2) === 0; // base 10
}