1
함수가 재귀 적으로 호출되면 인수라는 함수 스택을 얻는 방법이 궁금합니다. 각각 다른 함수를 호출하는 정상적인 함수가 있으면 작동합니다. 하지만 을 재귀 적 스택에서 가져 오려고한다면, 나는 항상 마지막으로 전달 된 인수를 얻습니다. 난 항상 같은 결과를 얻을 것이다이 경우 JavaScript는 함수 호출 recusrive에서 스택 인수를 얻습니다.
function a(p1, p2) {
b(p1, p2, 3)
}
function b(p1, p2, p3) {
c(p1, p2, p3, 4)
}
function c(p1, p2, p3, p4) {
console.log(arguments.callee.caller.caller);
}
a(1, 2)
:
var i = 3;
function a(p1, p2) {
var args = Array.prototype.slice.apply(arguments);
args.push(i);
while (--i > 0) {
arguments.callee.apply(arguments.callee, args);
}
if (i === 0) {
console.log(arguments.callee.caller.caller.caller.caller);
}
}
a(1, 2);