Ich bin auf der folgenden Funktion stecken, die in ein paar andere Beiträge erscheint, die ich auch überprüft habe.Eloquent Javascript findSequence Klärung
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));
Auch in diesem Link angegeben.
Javascript..totally lost in this tutorial
In der obigen Erläuterung, versuchte die Antwort stattdessen ein Ziel von 11. Sie haben von 1, einen Anfang zu setzen, die zunächst gegen 11 getestet wird, und dann ein Start von 6, die gegen 11 getestet
Ich verstehe diese ersten zwei Schritte. Ich verstehe jedoch nicht den Sprung vom 2. Schritt (Vergleich start
: 6 bis goal
: 11) mit dem dritten Schritt (Vergleich start
: 3 bis goal
: 11).
Wie geht start
von 6, zurück bis 3 und dann wieder bis 11 (vierte Kugel)?
Englisch ist meine erste Sprache. –
Diese Erklärung in der Post ist sehr nützlich, weshalb ich den Link stattdessen zur Verfügung gestellt habe. – KMcA
überprüfen Sie diese Antwort - vielleicht kann es klären. http://stackoverflow.com/questions/7540111/javascript-closure-tutorial-from-eloquent-javascript?lq=1 – c69