gpt4 book ai didi

javascript - 有人能解释一下你是如何在这个函数表达式中得到 false 的吗?

转载 作者:搜寻专家 更新时间:2023-11-01 04:50:16 24 4
gpt4 key购买 nike

我理解 if 的第一部分,但第二部分不是说明“因为‘n’不等于零,所以在用逻辑修改的偶数函数中返回‘n’” NOT(!) 运算符。”?如果我将 5 作为参数传递给 fn();,它不会返回 4 吗?

var fn = function even (n)
{
if (n === 0)
{
return true;
}
else
{
return !even(n - 1)
}
};

fn(5); //=> false

最佳答案

even(n) 始终与 even(n-1) 相反。

因为 even(0)trueeven(1)false 等等:所有2 的倍数为 true,奇数为 false

查看它的一种简单方法可能是记录 [0,1,2,3,4,5].map(even)


以防万一您真的在寻找一种方法来了解正整数是否为偶数,您展示的解决方案效率非常低,并且递归会导致任何大数的调用堆栈爆炸。这是一个更合理的解决方案:

function even(n){
return !(n%2);
}

关于javascript - 有人能解释一下你是如何在这个函数表达式中得到 false 的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26040564/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com