나는 이것을 이해하지 못합니다!JavaScript에서 재귀를 이해할 수 없습니다.
function rec(arg){
console.log(arg);
if(arg == 3)
return arg;
else
rec(arg + 1);
}
var i = rec(0);
console.log(i);
//0
//1
//2
//3
//undefined
이유 함수 'ARG'내부 값을 갖지만`의 시간이 (', 인수 == 3')를 반환 할 때 나 '미정의'범?
여기서 다른
function power(base, exponent) {
console.log(exponent);
if (exponent == 0)
return 1;
else
return base * power(base, exponent - 1);
}
console.log(power(2, 3));
//3
//2
//1
//0
//8
왜 반환하지 '8'지수 것은 '함수 내에서'0 '이며 반환한다 때'1 '!
이제 JS가 어떻게 작동하는지 이해할 수 없다는 것을 이해합니다.
첫 번째 예에서
둘째는 유효한 함수입니다. 나는 왜 그것이 효과가 있는지 얻지 못했습니다. 그렇습니다. 나는 pow를 다시 쓰지 않아도된다는 것을 안다. 나는 이해하지 못하는 모범을 보였습니다. –
전원 (2, 3)이되었을 것이다 : 2 * 4 인 2 * (2^2) ...이다 2 * (2^3-1) ... ... 8입니다. 전원을 반환 한 경우 (2,3) 반환 전원 (기본, 지수)으로 정의한 경우; 괜찮을 것입니다. – Wigwam
감사합니다! 친절하게도! –