Javascript Can';我不明白这个函数是如何工作的
所以基本上我刚开始学习JS,做了一个小练习,基本上是做一个函数来检查数字是否是偶数,而不使用模运算。当我完成它的时候,我只是想把我的和答案进行比较,但我真的不知道它是如何工作的Javascript Can';我不明白这个函数是如何工作的,javascript,Javascript,所以基本上我刚开始学习JS,做了一个小练习,基本上是做一个函数来检查数字是否是偶数,而不使用模运算。当我完成它的时候,我只是想把我的和答案进行比较,但我真的不知道它是如何工作的 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 -
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);
}
函数isEven(n){
如果(n==0)
返回true;
else如果(n==1)
返回false;
else if(n<0)
返回isEven(-n);
其他的
返回isEven(n-2);
}
我不确定零件(n-2)是如何工作的,它是否以某种方式将数字放入一个循环中,并且在数字为1或0之前基本上不等于2?如果数字为负数,函数将使其为正数,然后针对正值再次运行,如果它大于1,它将再次运行,直到数字为1或0,在每次迭代中将该数字减少2。它被称为递归。如果数字为负数,函数将使其为正数,然后针对正数再次运行;如果大于1,函数将再次运行,直到数字为1或0,并在每次迭代时将数字减少2。它被称为递归。如果数字为负数,函数将使其为正数,然后针对正数再次运行;如果大于1,函数将再次运行,直到数字为1或0,并在每次迭代时将数字减少2。它被称为递归。如果数字为负数,函数将使其为正数,然后针对正数再次运行;如果大于1,函数将再次运行,直到数字为1或0,并在每次迭代时将数字减少2。这叫做递归。让我们看看运行此函数时幕后发生了什么:
isEven(8)
// isEven(8) Is 8 even?
// isEven(6) Is 6 even?
// isEven(4) Is 4 even?
// isEven(2) Is 2 even?
// isEven(0) Is 0 even? --> Yes, the function immediately returns true
// so I know the one at the top, 8, is even
等等。对于任何偶数,它最终都会变为0。对于任何奇数,它最终都会变为1。让我们看看运行此函数时幕后发生了什么:
isEven(8)
// isEven(8) Is 8 even?
// isEven(6) Is 6 even?
// isEven(4) Is 4 even?
// isEven(2) Is 2 even?
// isEven(0) Is 0 even? --> Yes, the function immediately returns true
// so I know the one at the top, 8, is even
等等。对于任何偶数,它最终都会变为0。对于任何奇数,它最终都会变为1。让我们看看运行此函数时幕后发生了什么:
isEven(8)
// isEven(8) Is 8 even?
// isEven(6) Is 6 even?
// isEven(4) Is 4 even?
// isEven(2) Is 2 even?
// isEven(0) Is 0 even? --> Yes, the function immediately returns true
// so I know the one at the top, 8, is even
等等。对于任何偶数,它最终都会变为0。对于任何奇数,它最终都会变为1。让我们看看运行此函数时幕后发生了什么:
isEven(8)
// isEven(8) Is 8 even?
// isEven(6) Is 6 even?
// isEven(4) Is 4 even?
// isEven(2) Is 2 even?
// isEven(0) Is 0 even? --> Yes, the function immediately returns true
// so I know the one at the top, 8, is even
等等。对于任何偶数,它最终都会变为0。对于任何奇数,当n当n当n当n当n当n是时,它最终会变成1。基本上。它使用递归执行
n-=2
,直到n
变为1
或0
。是的,函数一直迭代,直到返回true或false是。基本上。它使用递归执行n-=2
,直到n
变为1
或0
。是的,函数一直迭代,直到返回true或false是。基本上。它使用递归执行n-=2
,直到n
变为1
或0
。是的,函数一直迭代,直到返回true或false是。基本上。它使用递归执行n-=2
,直到n
变为1
或0
。是的,函数不断迭代直到返回true或return FALSE。请注意,当“底部”函数返回true
时,这就是从下一个函数返回的结果,这是从下一个到下一个到最后一个函数返回的结果,一直到第一个。请注意,当“底部”函数返回true
时,这就是从下一个到最后一个函数返回的结果,即从下一个到下一个到最后一个函数返回的结果,直到第一个。请注意,当“底部”函数返回true
时,这就是从下一个到最后一个函数返回的结果,即从下一个到下一个到最后一个函数返回的结果,直到第一个。请注意,当“底部”函数返回true
时,这就是从下一个到最后一个函数返回的结果,这是从下一个到下一个到最后一个函数返回的结果,一直到第一个。