Sono bloccato sulla seguente funzione che appare in alcuni altri post che ho anche recensito.Eloquent Javascript's findSequence chiarimenti
function findSequence(goal) {
function find(start, history) {
if (start == goal)
return history;
else if (start > goal)
return null;
else
return find(start + 5, "(" + history + " + 5)") ||
find(start * 3, "(" + history + " * 3)");
}
return find(1, "1");
}
print(findSequence(24));
Fornito anche in questo collegamento.
Javascript..totally lost in this tutorial
Nella spiegazione di cui sopra, la risposta invece cercato di impostare un obiettivo di 11. Hanno un inizio di 1, che è prima testato contro 11, e quindi un inizio di 6 che viene testata contro 11
Capisco questi primi due passaggi. Tuttavia, non capisco il salto dal secondo passaggio (confronto start
: 6 a goal
: 11) al terzo passaggio (confronto start
: 3 a goal
: 11).
In che modo start
passa da 6, indietro a 3 e quindi indietro fino a 11 (quarto punto)?
L'inglese è la mia prima lingua. –
Questa spiegazione nel post è molto utile, motivo per cui ho fornito il link. – KMcA
controlla questa risposta - forse può chiarire. http://stackoverflow.com/questions/7540111/javascript-closure-tutorial-from-eloquent-javascript?lq=1 – c69