최대 호출 스택을 초과했습니다. 그러나, 거기에 내 코드에 대한이 문제를 해결할 수 있습니까? 또한 위치가> counter1 일 때 루프가 멈추는 시간이 있습니다.최대 호출 스택을 초과했습니다.
var a = 0;
var b = 1;
var c;
var counter1 = 1;
var position = 0;
window.onload = function() {
var position = prompt("Please enter the position number.","0");
calc1();
}
function calc1() {
if(position <= counter1) {
c = a+b;
counter1++;
calc2();
}
else {
callResult();
}
}
function calc2() {
if(position <= counter1) {
a = b+c;
counter1++;
calc3();
}
else {
callResult();
}
}
function calc3() {
if(position <= counter1) {
b = c+a;
counter1++;
calc1();
}
else {
callResult();
}
}
function callResult() {
if (position %3 == 1) {
document.getElementById("answer").innerHTML = a;
}
else if (position %3 == 2) {
document.getElementById("answer").innerHTML = b;
}
else {
document.getElementById("answer").innerHTML = c;
}
}
어떻게 당신 * 지금 * 코드 흐름 파악이 당신이 당신의 코드를 들여 어떻게하면? – h2ooooooo
이것은 내가 보통 들여 쓰는 방법이 아닙니다. 대개 4 칸, 다음 들여 쓰기가 탭입니다. 하지만이 웹 사이트에서는 코드를 표시하는 데 4 칸이 필요하므로 낭비되는 시간을 최소화하려고 노력 했으므로 신속하게 답변을 얻을 수 있습니다. 하지만 사람들에게 영향을 주면 이제 변경하겠습니다. –
따라서 위치가 <= counter1 일 때 counter1을 증가 시키지만 위치는 변경하지 않으므로 카운터가 커지고 커브가 계속 호출됩니다. calc1 -> calc2 -> calc3 - > calc1? 등등 .... – doctorlove