Der nun folgende Abschnitt enthält Grundlagen zur Programmierung. Falls Sie bereits eine Programmiersprache beherrschen, können Sie mit dem nächsten Abschnitt fortfahren.
Was ist eigentlich ein Programm? Und wo findet man überall Programme? Woraus bestehen Programme? Die Antworten auf diese Fragen sind eigentlich sehr einfach, denn ein Computerprogramm besteht ebenso wie ein Festtagsprogramm aus einer Liste von Aktionen, die von Menschen oder Computern befolgt werden.
Das Besondere an Computerprogrammen ist jedoch ihre Komplexität. Die Liste mit Aktionen ist tendentiell sehr lang und sie wird nicht nur von oben bis unten abgearbeitet, sondern oft werden bestimmte Aktionen mehrmals oder in anderen Anordnungen ausgeführt.
Der Grund für dieses eher ungewöhnliche Verhalten ist, dass ein Programm Entscheidungen treffen kann auf Grundlage von Variablen. Variablen sind eine Art Behältnis für (berechnete) Werte. Je nachdem, welchen Wert eine oder mehrere Variablen haben, kann ein Programm verschiedene Aktionen durchführen.
Auf einem Festtagsprogramm werden Sie vergeblich nach solchen Variablen suchen, auch wenn es sie in der Realität gibt, denn das Gesundheitsamt wird nur auf der Party aufkreuzen, wenn in der Suppe eine tote Ratte gefunden wurde ;-)
Aber wo wir gerade beim Essen sind - so ist eigentlich jedes Kochrezept ein Programm. Nehmen wir mal an, ein Rezept fordert Sie auf, die Kartoffeln zu schälen. Aber nehmen Sie auch an, Sie wüssten nicht, wie man Kartoffeln schält, dann müssten Sie jetzt verhungern.
Die Autoren von Kochrezepten schreiben diese Dinge nicht auf, da man sie auch woanders nachschauen und lernen kann. Wenn jedes mal in einem Rezept beschrieben werden müsste, wie man Kartoffeln schält, wären die Rezepte sehr viel länger, und die meisten Köche wären nicht erfreut über die ganzen Informationen, die sie ohnehin im Schlaf runterbeten könnten.
Was hat das mit Programmieren zu tun? Nun, beim Programmieren hat man auch oft das Problem, dass gewisse Aktionen immer wieder durchgeführt werden müssen. Für dieses Problem gibt es mehrere Lösungen, die hier vorgestellt werden sollen.
Eine Lösung ist die Verwendung von Funktionen. Eine Funktion besteht aus einer Liste mit Aktionen, gegebenenfalls Parametern und einem Rückgabewert. Diese Liste ist viel kürzer als ein ganzes Programm und sollte idealerweise wirklich nur eine einzige Aufgabe beschreiben.
Nehmen wir mal an, wir wollen unserem Küchenroboter beibringen, wie man Kartoffeln schält. Allerdings sollte unterschieden werden, ob der Roboter nicht nur die Schale entfernt, sondern die Kartoffeln auch noch längsseitig durchschneidet oder nicht. Jetzt könnte man zwei Funktionen definieren - eine mit und eine ohne Längsschnitt, aber das ist eine unnötige Wiederholung.
Abhilfe schaffen hier Parameter, die Bestandteil der Funktion sein können:
Funktion KartoffelnSchälen ( Längsschnitt ) Benutze Messer, um Schale abzuschneiden WENN Längschnitt DANN schneide die Kartoffel längsseits durch
Der Parameter hier ist Längsschnitt. Parameterdefinitionen werden gewöhnlicherweise in runden Klammern notiert. Innerhalb von Funktionen sind Parameter das Gleiche wie Variablen.
Funktionen können auch einen Rückgabewert haben, welcher als Endergebnis einer Funktion angesehen werden kann. Diese Endergebnisse können wiederum in Variablen gespeichert werden, um weiterverarbeitet zu werden.
ToDo:
Ein Programm soll ja nach Möglichkeit etwas "tun" oder "machen" - und dazu braucht es ein Gegenstand oder object oder sonst was um damit etwas tun zu können. Objecte und derlei werden später behandelt - Anfang ist mit einer Variable gut. Eine Variable kennt jeder nach spätestens 7er Klasse der Allgemeinschule - die x und y sind variablen. Eine Variable kann alles sein - in JS nicht nur eine Zahl, sondern auch ein Text und vieles mehr. Und damit man in eine Variable etwas speichern sein, muss man die Variable erst deklarieren.
Anklickbare Anzeigebeispiele funktionieren im Moment noch nicht, siehe die häufig gestellten Fragen zur Mitarbeit.
Nun haben wir eine Variable namens Felix, der wir später einen wert zuweisen können (var steht übrigens für "Variable"), das geht aber auch "sofort":
Anklickbare Anzeigebeispiele funktionieren im Moment noch nicht, siehe die häufig gestellten Fragen zur Mitarbeit.
So wird eine Variable "eingeführet" und gleich mit dem Wert 3 belegt.
Es empfiehlt sich auch jede "vollständige Anweisung" mit einem ; für den Parser und Zeilenumnbruch für den Leser abzuschließen - beide werden dafür danken.
Da man in JS nicht auf einzelne Buchstaben eingeschränkt ist, man kann eine Variable auch Horst nennen, sollte man auch daran denken den Variablen sinnvolle Namen zu geben - spätestens bei über 15 Variablen wird es sonst lustig.
ToDo:
Das liefert undefined:
function foo() {
return
["a", "b"];
}
So hingegen liefert foo das Array:
function foo() {
return ["a", "b"];
}
--dedlfix 08:46, 16. Apr. 2010 (CEST)
Eine weitere wichtige Sache ist - JS bringt sehr viele vordefinierte Funktionen, die einem das Leben ungemein erleichtern. Das besondere anbei - die Funktionen sind oft an ein Object gebunden, mit dem sie etwas "machen".
Als Beispiel - vordefiniert in einem HTML-Dokument ist die Variable (ist aber eigentlich nicht variabel, ganz genau gesagt ist es ein Object - dazu später mehr) "document".
Und in dieses document kann man etwas reinschrieben (man will ja schließlich eine Ausgabe "an den Zuschauer" haben, nicht, dass das ganze Getue heimlich und ohne etwas zu bewirken abläuft).
Beispiel - document.write("das ist ein JSerzeugter text"); - dies würde in den Document "das ist ein JSerzeugter text" schrieben.
Lust es auszuprobieren? Dann brauchen wir noch eine Kleinigkeit - wie man JS und HTML miteinander paart, dass da auch fruchtbares Nachkommen gezeugt wird.