Funktionen deklarieren und definieren
EdBrg
- javascript
Hallo zusammen!
Ich habe mal eine Frage zur Deklaration und Definition von Funktionen mit Javascript. Und zwar gibt es in vielen Programmiersprachen die Möglichkeit eine Funktion zu Beginn eines Codes zu deklarieren und erst später zu definieren. Dies hat den Vorteil, dass man schon Funktionsrufe in den Code schreiben kann, bevor überhaupt gesagt wird was die Funktion macht (das geht z.B. in C). Gibt es in Javascript auch diese Möglichkeit?
Konkret: ich möchte eine Funktion in meinem HTML-Code nutzen, aber das externe Javascript-File, welches die Funktion enthält, erst am Ende der Seite einbinden (das hat Vorteile beim Seitenaufbau). Geht sowas?
Vielen Dank vorab!
Und zwar gibt es in vielen Programmiersprachen die Möglichkeit eine Funktion zu Beginn eines Codes zu deklarieren und erst später zu definieren. Dies hat den Vorteil, dass man schon Funktionsrufe in den Code schreiben kann, bevor überhaupt gesagt wird was die Funktion macht (das geht z.B. in C). Gibt es in Javascript auch diese Möglichkeit?
Nein, Javascript wird linear ausgeführt, ein Compiling wie bei C findet nicht statt. Jede Funktion wird ausgeführt, sobald sie beim Parsen aufgerufen wird. Du kannst aber je nach Kontext mit Funktionsreferenzen arbeiten, dazu müßte man aber wissen, was du da vorhast.
JJ
Du kannst aber je nach Kontext mit Funktionsreferenzen arbeiten, dazu müßte man aber wissen, was du da vorhast.
Funktionsreferenzen? Wie schon gesagt: ich binde am Ende der Seite ein externes JS-File ein, in welchem die Funktion definiert ist. Aber ich möchte bereits vorher die Funktion nutzen können. Aufgerufen wird sie durch Klicken eines Links.
...
onClick=Funktionsaufruf
...
...
...
JS-Code
Mahlzeit,
Wie schon gesagt: ich binde am Ende der Seite ein externes JS-File ein, in welchem die Funktion definiert ist. Aber ich möchte bereits vorher die Funktion nutzen können. Aufgerufen wird sie durch Klicken eines Links.
...
onClick=Funktionsaufruf
...
JS-Code
Wie Du bereits schriebst: der Aufruf der Funktion findet erst beim Klick auf den Link statt. Und zu diesem Zeitpunkt sollten sowohl das HTML-Dokument als auch der enthaltene Javascript-Code sowie evtl. vorhandene externe Javascript-Dateien bereits geladen sowie das HTML-Dokument fertig gerendert sein und im Browser angezeigt werden (sonst könnte der Benutzer ja nicht "klicken"). D.h. die Funktion müsste bekannt sein und ausgeführt werden können. Was genau funktioniert denn bei Dir nicht?
MfG,
EKKi