Utknąłem na następującej funkcji, która pojawia się w kilku innych wpisach, które również przejrzałem.Eloquent Javascript's findSequence clarification
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));
Podano również pod tym linkiem.
Javascript..totally lost in this tutorial
W powyższym wyjaśnieniem, odpowiedź zamiast próbowali ustawić cel 11. Mają początek 1, który jest pierwszym badanym przeciw 11, a następnie początku 6, który jest testowany przed 11
Rozumiem te dwa pierwsze kroki. Jednak nie rozumiem skoku z drugiego etapu (porównanie start
: 6 do goal
: 11) do trzeciego kroku (porównanie start
: 3 do goal
: 11).
Jak zmienia się start
od 6, z powrotem w dół do 3, a następnie z powrotem do 11 (czwarty punktor)?
Angielski to mój pierwszy język. –
To wyjaśnienie w poście jest bardzo przydatne, dlatego podałem ten link. – KMcA
sprawdź tę odpowiedź - może to wyjaśnić. http://stackoverflow.com/questions/7540111/javascript-closure-tutorial- from-eloquent-javascript?lq=1 – c69