javascript中另一个函数中的函数
我试图调用函数isevenn中的另一个函数:javascript中另一个函数中的函数,javascript,function,recursion,module,Javascript,Function,Recursion,Module,我试图调用函数isevenn中的另一个函数: function iseven(n) { function remainder(n) { if (n%2==0) { return true; } else { return false; } } } console.log(iseven(4)); 它返回undefined 正确的方法是: function a(x) { // &l
function iseven(n) {
function remainder(n) {
if (n%2==0) {
return true;
} else {
return false;
}
}
}
console.log(iseven(4));
它返回undefined
正确的方法是:
function a(x) { // <-- function
function b(y) { // <-- inner function
return x + y; // <-- use variables from outer scope
}
return b; // <-- you can even return a function.
}
console.log(a(3)(4));
试一试
函数isevenn{return n%2==0;}您想要这样的函数吗
function iseven(n) {
if (n%2==0) {
return true; }
else {
return false;
}
}
console.log(iseven(4));
还有更简洁一点的:
function isEven(n) {
return n % 2 === 0;
}
不太清楚为什么原始结构是这样的。您的主函数iseven不返回任何内容。根据您的代码,它应该返回false。以下是修复方法:
function iseven(n) {
function remainder(n) {
if (n%2==0) {
return true;
}
else {
return false;
}
}
//iseven() should return something
return false;
}
console.log(iseven(4));
你在一个函数中有一个函数。外部的一个不会返回任何东西。你想用两个函数做什么?因为你在一个函数中有一个函数remaindern{和一个closing}@nahu你解决了你的问题吗?如果你希望它返回布尔值,我会用函数isevenn{返回n%2==0;}但这只是吹毛求疵,因为函数返回的0和1分别是假值和真值。你是对的@RicoKahler!我会更新我的answer@nahu我的回答对你有帮助吗?我更喜欢这个,但在你的例子中,这更像是一种风格