Funktionen in JavaScript

Ähnliche Dokumente
JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

Funktionen in PHP 1/7

Ereignisse Auf Benutzereingaben reagieren

01 Einführung in PHP. Einführung in PHP 1/13 PHP in Aktion

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 4

Programmsteuerung mit PHP - if/else, elseif,switch

Grundlagen der Informatik Vorlesungsskript

Prozeduren und Funktionen

C++ Notnagel. Ziel, Inhalt. Programmieren in C++

Programmierkurs Python I

Javascript. Einführung in Javascript. Autor: Christian Terbeck Erscheinungsjahr:

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Einstieg in die Informatik mit Java

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});

Strings. Daten aus Dateien einlesen und in Dateien speichern.

Globale Variablen Diverses. Globale Variablen. Globale Variablen

VORKURS INFORMATIK EINE EINFÜHRUNG IN JAVASCRIPT

Elementare Datentypen in C++

Fachhochschule Südwestfalen Wir geben Impulse. Kontrollstrukturen und Schleifen in Octave

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 4: Einführung in JavaScript Stand: Übung WS 2014/2015. Benedikt Schumm M.Sc.

Tag 4 Repetitorium Informatik (Java)

Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg

10 Die Programmiersprache C99: Zusammenfassung

33 CSS in HTML einbinden

Objektorientiertes Programmieren für Ingenieure

IT-Zertifikat: Allgemeine Informationstechnologien II PHP

Excel Funktionen durch eigene Funktionen erweitern.

Dynamik bis zur DB-Interaktion. Marc Schanne. CGI Möglichkeiten

Typ : void* aktuelle Parameter Pointer von beliebigem Typ

Algorithmen und ihre Programmierung

m-files sind Folgen von MATLAB-Anweisungen oder Daten-Files.

Programmierung mit C Zeiger

Schleifen in Javascript

GI Vektoren

Programmieren 2 (Prof. Hasbargen) Klausur

Processing Info zu Variablen und Bedingungen

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A

Makro + VBA 2007 effektiv

Die Datenbank und der Strukturentwurf wurden vorher mit phpmyadmin erzeugt.

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6

Java Einführung Methoden. Kapitel 6

Speicherklassen (1) Lokale Variablen

Deklarationen in C. Prof. Dr. Margarita Esponda

Multimediale Web-Anwendungen. JavaScript. Einführung. MWA JavaScript-Einführung Dr. E. Schön Sommersemester 2015 Folie 1.

Einführung in die Programmierung

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

PHP 5.4 ISBN Stephan Heller, Andreas Dittfurth 1. Ausgabe, September Grundlagen zur Erstellung dynamischer Webseiten GPHP54

Grundlegende Programmierkonzepte: Variablen, Methoden-Parameter, Rückgabewerte

Repetitorium Informatik (Java)

Methoden (fortgeschritten) in C# - 1

D.5 Eine Klasse für serielle Geräte schreiben

Spamschutz bei TYPO3. von Bernd Warken bei Fa. Netcos AG

Access [basics] Programmieren mit Arrays. Beispieldatenbank. Arrays. Eindimensionale Arrays. VBA-Grundlagen Programmieren mit Arrays

R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung.

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Multimedia im Netz Wintersemester 2011/12

Übersicht Shell-Scripten

Einrichten des Schuljahreskalenders. Das vorliegende Dokument zeigt Ihnen...

Einführung in die Programmierung Wintersemester 2016/17

affilinet_ Flash-Spezifikationen

Das Paket enthält: vionlink-formmailer.php src/formular.htm src/font.tff src/bg.png src/capmaker.php. eine Nutzungslizenz dieses Handbuch

FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Was Mathematiker schon vor Jahrhunderten erfunden haben, gibt es jetzt endlich in ihrer Programmiersprache:

Die Programmiersprache C99: Zusammenfassung

C++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue

Funktionen in Python

PHP 7.0 Dynamische Webseiten erstellen. Grundlagen. Stephan Heller. 1. Ausgabe, Oktober 2016 ISBN GPHP7

Programmieren der Untersuchung

Java: Eine kurze Einführung an Beispielen

6. Zeiger Allgemeines Definition eines Zeigers

JAVA - Methoden

JavaScript und PHP-Merkhilfe

Runde 2: Von der Statik zur Dynamik - Team Header

Projektdokumentation

Abbildung 6-8: Abfolge beim doppelten Abschicken von Formularen

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

Linux II. Reguläre Ausdrücke Editoren Scripting. 2 Linux II. Linux I II III Res WN/TT NLTK XML Weka E Reguläre Ausdrücke Editoren Scripting

Es gibt zwei verschiedene Arten, wie Programme auf dem Rechner ausgeführt werden:

JAVA - Methoden - Rekursion

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 12

Fachbericht DPR. Name: René Wagener. Klasse: CI3O1. Fachlehrer: Herr Balog

Schmitt, Günter (1996): Fortran 90 Kurs technisch orientiert, R. Oldenbourg Verlag, München

Actionscript Kleine Programme Fragen & Aufgaben

PIWIN 1 Übung Blatt 5

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Einstieg in die Programmierung mit Visual Basic.NET

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Einführung in die Programmierung mit JavaScript

Arbeiten mit JavaKara

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG

Funktionen Funktionen definieren Parameter übergeben Terminierung und Rückgabe Rekursive Funktionen

Erwin Grüner

Erlernbarkeit. Einsatzbereich. Preis. Ausführungsort

Wert. { color: blue; }

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Hilfe zur Aktivierung des Benutzerkontos für den Zugriff zum Daimler Mitarbeiter-Portal über das Internet

Grundlagen der Programmierung in C Funktionen

Transkript:

Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Mithilfe von Funktionen kann man denselben Code von mehreren Stellen des Programms aus aufrufen. Funktionen sind sehr nützlich, wenn sich eine Berechnung oder Aktion innerhalb eines Programms ständig wiederholt. Bestimmte Funktionen sind schon bekannt, wie z.b. prompt oder alert. Nun werden wir eigenen Funktionen erstellen. Dies erfolgt mit function NameFunktion (evtl. Variable). Danach werden in geschwungenen Klammern die Anweisungen geschrieben, die bei Funktionsaufruf ausgeführt werden sollen. Die Variable kann später mit NameFunktion() aufgerufen werden. Außerdem kann man bestimmte Vorgänge, die man immer wieder benötigt, in Funktionen auslagern. Man muss sie nur einmal definieren und kann sie beliebig oft aufrufen, sprich benutzen. Man spart sich damit Arbeit, wenn man bestimmte Arbeitsschritte öfter benötigt. Definiert wird eine Funktion meist im head des Dokuments. Die Definition beginnt mit dem Schlüsselwort function. Anschließend folgt der Name der Funktion, für den dieselben Regeln gelten wie für die Namen von Variablen. Danach stehen runde Klammern, hier noch ohne Inhalt. Es folgt ein Block von Anweisungen, immer mit Blockklammern. Syntax zum Erstellen einer Funktion function name () { document.write( Mach was ); } Beispiel: Das ist eine Funktion, die bei jedem Aufruf genau dasselbe Ergebnis erzeugt. Speichere unter 2.funktion_einfach.html Eberhart JavaScript 2 - Funktionen 1

Ergebnis: Bei Funktionen muss zwischen Definition und Aufruf unterschieden werden. Der Browser liest die Definition einer Funktion und weiß dann, wie sie arbeiten soll. Sie wird allerdings erst ausgeführt, wenn sie aufgerufen wird. Aufrufen kann man eine Funktion an jeder Stelle in einer Webseite. Entweder mittels sogenannter Eventhandler, mit einer Inline-Referenz oder einfach als Anweisung in einem Skriptbereich. Im letztgenannten Fall rufen wir Funktionen unmittelbar beim Laden der Webseite auf. Dazu muss man nur den Funktionsnamen samt Klammern und optionaler Werte für die Parameter (nicht die Parameterbezeichner) in einer Anweisung angeben. Beispiel für das Aufrufen im <body>: <body> <script> function name (); </script> </body> Jede Funktion gibt einen Rückgabewert aus, der dann an einer anderen Stelle des Codes weiterverwendet werden kann. In diesem Fall erhält man undefined, weil man lediglich den Code mit einer Anweisung ausgeben lässt. Tipp: auslagern in eine exteren js-datei Die Definition von Funktionen, die man häufig und in verschiedenen Programmen benötigt, kann man in externe Dateien auslagern. So kann man eigene Funktionsbibliotheken erzeugen. Große Bibliotheken mit vielen nützlichen Funktionen, wie zum Beispiel die Bibliothek jquery, wurden auf diese Weise erschaffen. Übung: Erstelle eine neue Datei mit folgendem Inhalt: Eberhart JavaScript 2 - Funktionen 2

Speicher diese als JavaScript-Datei als 2_externe.js In der normalen Html-Datei muss nun die Verbindung aufgenommen werden: Der script-container zur Einbindung der externen Datei steht im head des Dokuments. Das Attribut src verweist auf die externe Datei. Die Ausgabe sieht genauso aus wie im vorherigen Abschnitt. Im Head und im Body ist <script> und </script> nötig. Speichern unter 2.funktion_extern.html Eberhart JavaScript 2 - Funktionen 3

Parameter (Argumente) an eine Funktion übergeben Mithilfe von Argumenten kann man einer Funktion bestimmte Werte übergeben. Damit beeinflusst man, wie sich die aufgerufene Funktion verhält. Argumente stehen immer zwischen den Klammern der Funktion, sowohl bei der Definition als auch beim Aufrufen der Funktion. Syntax: function saghallo (argument) { document.write( Hallo + argument); } Zum Aufrufen einer Funktion, die ein Argument akzeptiert, schreibt man dessen gewünschten Wert in die Klammer hinter dem Funktionsnamen (in Anführungszeichen). Bei den Parametern handelt es sich um Informationen, die beim Aufruf an die Funktion übermittelt werden. Die Funktion verarbeitet diese Informationen und erzeugt bei jedem Aufruf ein anderes Ergebnis. Beispiel: Erstelle die Funktion verbinden und der Ausgabe mittels document.write Innerhalb der runden Klammern werden zwei Variablennamen angegeben, hier land und stadt. Das ist eine eigene Funktion, an die zwei Zeichenketten übergeben werden. Die Funktion erstellt daraus einen Satz und gibt ihn aus. Speichern unter 2.funktion_parameter.html Eberhart JavaScript 2 - Funktionen 4

Es wird eine Funktion mit dem Namen verbinden() definiert. Sie besitzt zwei Parameter mit den Bezeichnungen land und stadt, durch Komma voneinander getrennt. Die jeweils aktuellen Werte der beiden Parameter werden genutzt, um einen Satz zusammenzustellen und auszugeben. Wird die Funktion unten aufgerufen, erhalten die oberen Variablennamen die Werte, die in der Klammer angegeben sind. Es müssen genau so viel sein, aber natürlich nicht die gleichen. Hier sind es zwei, nämlich einmal die Variablen a und b, und das andere Mal Spanien und Madrid. Die Funktion verbinden() wird zweimal aufgerufen: beim ersten Mal mit den Werten der beiden Variablen a und b, beim zweiten Mal mit zwei Zeichenketten, jeweils wiederum durch Komma voneinander getrennt. Es können also sowohl Variablen als auch Werte übermittelt werden. Bei jedem Aufruf springt das Programm zur Funktion, übergibt die beiden Parameter in der gegebenen Reihenfolge an die Variablen land und stadt und führt den Inhalt der Funktion aus. Ergebnis: Eberhart JavaScript 2 - Funktionen 5

Einige Hinweise zu den Parametern: Dabei kann es sich um Zeichenketten, Zahlen oder Wahrheitswerte handeln. Es gibt aber auch Objekte oder Felder als Parameter. Die Anzahl der Parameter einer Funktion sollte beim Aufruf mit der Anzahl der in der Definition erwarteten Parameter übereinstimmen. JavaScript bietet aber auch die Möglichkeit, eine beliebige Anzahl von Parametern zu übermitteln. Gültigkeitsbereich von Variablen Die Variablen, die außerhalb von Funktionen deklariert werden, sind im gesamten Programm gültig und bekannt, auch innerhalb von Funktionen. Sie haben einen globalen Gültigkeitsbereich. Man nennt sie auch globale Variable. Die Variablen, die innerhalb einer Funktion deklariert werden, sind nur innerhalb dieser Funktion gültig und bekannt. Man nennt sie auch lokale Variable. Sie können mehrere Variable mit demselben Namen in verschiedenen Funktionen deklarieren, da jede dieser Variablen ihren eigenen lokalen Gültigkeitsbereich hat. Lokale Variable werden innerhalb von Funktionen beziehungsweise vergleichbaren Konstruktionen explizit mit var deklariert und können dann nur dort benutzt werden. Beispiel: var satz im nachfolgenden Beispiel bzw. var x im alex() -Beispiel. Man kann mehrere Variable mit demselben Namen in verschiedenen Funktionen deklarieren, da jede dieser Variablen ihren eigenen lokalen Gültigkeitsbereich hat. Gültigkeitsbereich von Variablen: Dazu gibt es im Gegensatz auch globale Variablen, die im gesamten Programm gültig und bekannt sind, auch innerhalb von Funktionen (siehe var y im alex() Beispiel, da y im <body erzeugt wird). Beispielsweise sind im nachfolgenden Beispiel die beiden Variablen im <body> var a und b solche globale Variablen. Hausübung: function alex() Erstelle im <head> eine Funktion namens function alex() mit einer Variablen var x = 19; und einem document.write( Abend: + x + + y + <br> ); Im <body> soll die Variable x den Wert 12 erhalten und erst hier die zweite Variable y den Wert Uhr erhalten. Nun sollen mittels document.write ausgegeben werden ( Mittag: + x + + y + <br> ). Erst danach soll die Funktion aus dem <head> mit alex(); angezeigt werden. Speichere unter 2.funktion_alex.html. Das Ergebnis soll so aussehen: Eberhart JavaScript 2 - Funktionen 6

Erklärung: In der Funktion alex() wird mit x=19 eine lokale Variable erzeugt, die die globale Variable aus dem <body> ausblendet. Die Variable y wird in beiden Ausgaben verwendet, da sie in der Funktion ja nicht lokal erzeugt bzw. abgeändert wird. Eberhart JavaScript 2 - Funktionen 7

Funktionen mit Rückgabewert (return) Man kann nicht nur Parameter an eine Funktion senden, sondern auch ein Ergebnis von einer Funktion zurückerhalten. Dieses Ergebnis nennt man den Rückgabewert einer Funktion. Dabei kann es sich um eine Zeichenkette, eine Zahl, einen Wahrheitswert oder ein beliebiges anderes Objekt handeln. Man kann den Rückgabewert unmittelbar ausgeben, speichern, um ihn im weiteren Verlauf des Programms zu nutzen z.b. mit anderem Code kombinieren. Rückgabewert einer Funktion mit return Um einen Funktionswert zurückzuliefern verwendet man das Schlüsselwort return gefolgt von dem gewünschten Rückgabewert. Die Anweisung return sollte immer die letzte Anweisung in einer Funktionsimplementierung sein. Wenn der Interpreter diese Anweisung vorfindet, verlässt er unmittelbar die Funktion und macht mit dem Code hinter dem Funktionsaufruf weiter. Gegebenenfalls nachfolgend in der Funktionsimplementierung notierte Anweisungen werden nicht mehr ausgeführt. Diese wären dann sogenannter unerreichbarer Code (unreachable code) und solcher ist immer (!) ein logischer Fehler im Programm oder Skript. Übung: 2.funktion_verdoppeln.html Erstelle eine Funktion function verdoppeln(zahl), die das Argument zahl entgegennimmt und als Ergebnis zahl * 2 zurückliefert. Der Rückgabewert dieser Funktion ist also immer doppelt so groß wie ihr übergebener Wert. Im <body> wird die Funktion aufgerufen und mit document.write() ausgegeben. Ergebnis: Eberhart JavaScript 2 - Funktionen 8

Übung: In diesem Programm gibt es eine Funktion, die zwei Zahlen als Parameter benötigt. Sie liefert als Rückgabewert die Summe der beiden Zahlen, denn Funktionen können zwar mehrere Argumente entgegennehmen, aber immer nur einen Wert zurückliefern. Speichere unter 2.funktion_parameter_rückgabe.html Die Funktion summe() erwartet zwei Parameter. Diese beiden Parameter werden innerhalb der Funktion addiert. In der nächsten Anweisung steht das Schlüsselwort return. a)beim ersten Aufruf der Funktion summe() werden die aktuellen Werte von x und y an die Funktion übergeben. Die Summe wird zurückgeliefert und in der Variablen z gespeichert. Diese wird anschließend ausgegeben. b)zur Berechnung und Ausgabe der zweiten Summe wird die Methode document.write() aufgerufen. Innerhalb des Aufrufs wird wiederum die Funktion summe() aufgerufen. Es werden zwei Zahlenwerte übergeben, nämlich hier 14 und 5. Der Rückgabewert wird direkt in die Ausgabe eingebaut. Eberhart JavaScript 2 - Funktionen 9

Eine Funktion vorzeitig verlassen mit return Sobald der JavaScript-Interpreter in einer Funktion auf das Schlüsselwort return trifft, verlässt er die Funktion, auch wenn darin noch weiterer Code folgt. Zum Beispiel wird return immer wieder verwendet, um eine Funktion vorzeitig zu verlassen, wenn ungültige Argumente übergeben wurden. Beispiel: Die nachfolgende Funktion liefert den 5 Buchstaben eines Wortes. Aber wenn das Wort kürzer als 5 Buchstaben ist, soll die Funktion verlassen werden. Die Funktion fuenfterbuchstabe liefert einen String zurück, in dem sie den fünften Buchstaben des Namens ausgibt. Ist der Name kürzer als fünf Buchstaben (name.length < 5) dann wird die Funktion über return direkt verlassen. Das Ergebnis wäre undefined. Dass bedeutet, dass der Interpreter nicht zur zweiten Anweisung gelangt, die den fünften Buchstaben ausgeben sollte. In der Zeile 8 wird überprüft, ob die Länge des Namens kleiner als 5 ist. In der Zeile 18 wird mit var name = der Name festgelegt. Übung b) gib den Namen Max statt Herbert ein und betrachte das Ergebnis im Browser. Eberhart JavaScript 2 - Funktionen 10

Eine Funktion mit prompt versorgen Aufgabe: Der Name soll nicht im Code vordefiniert werden sondern durch ein prompt vom Nutzer beliebig eingegeben werden können. Speichere diese Variante als 2.return_verlassen_prompt.html Quellen: Eberhart JavaScript 2 - Funktionen 11