2014-12-07 99 views
0

我想寫一個遞歸函數,但我完全失去了對如何實現它。我目前有以下幾種:JavaScript中的遞歸函數或循環?

function change(p){ 
    // code for function 
} 

var c1 = change(start); 
var c2 = change(c1); 
var c3 = change(c2); 
// etc. etc. 

有什麼辦法可以用while循環做到這一點嗎?例如:

while(currentResultofFunction != goal) 
    nestedly loop through as before until reaches true 

回答

0

什麼:

var val = start; 
while(val) //or while val != goal 
    val = change(val); 
0

你在做什麼,是不是遞歸。你可能意思是迭代

您可以通過這種方式變量循環:

var n = 2; 
for (var i = 1; i <= n; i++) { 
    if (i == 1) window['c1'] = change(start); 
    else window['c' + i] = change(window['c' + (i - 1)]); 
} 
1
function change(p) { 
    if (p != 1) { // your condition 
     change(p); 
    } else return p; 
}