50 > EVEN NUMBER .
75 > ODD NUMBER .
-1 > INVALID NUMBER .
JavaScript 대화 상자에서 와 같은 출력을 얻기 위해 브라우저에서 간단한 HTML 문서로 다음 코드를 테스트했습니다 . 그러나 마지막 대화 상자 만 표시되고 3 개의 개별 대화 상자는 표시되지 않습니다. 왜 이런 일이 일어나고 있는지 알고 싶어요.
function isEven(X) {
var number = X;
var sol = (function find(number) {
if(number === 0) {
return 'Even';
} else if(number === 1) {
return 'Odd';
} else if(number > 1) {
find(number-2);
} else if(number < 0) {
return 'Invalid';
}
}(number));
switch(sol) {
case 'Even':
alert(number+' is an '+'EVEN NUMBER .');
break;
case 'Odd':
alert(number+' is an '+'ODD NUMBER .');
break;
case 'Invalid':
alert(number+' is an '+'INVALID NUMBER .');
break;
}
}
isEven(50);
isEven(75);
isEven(-1);
당신은 find
재귀 적 으로 전화를하려고하는데 전화를 했을 때 아무것도 find(number-2);
잊어 버렸습니다 return
. 따라서, 함수가 반환 undefined
하는 귀하의 모든 경우와 일치하지 않습니다 switch
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다