studyklar
IProg · Klausur 3 · Aufgabe 7

Lokale und globale Variablen, Parameter: JavaScript und PHP

JavaScript und PHP sehen ähnlich aus, gehen aber mit Variablen und Parametern verschieden um. Rechts entsteht je ein kleines Beispiel, das die Unterschiede zeigt. Mit Weiter geht es Schritt für Schritt voran.

Die Aufgabe

7) Funktionsdeklaration (7 Punkte)

Erläutern Sie für JavaScript und PHP kurz die unterschiedlichen Philosophien bzgl. lokalen und globalen Variablen und der Parametrisierung.

Geben Sie jeweils ein kleines sinnvolles Beispiel zur Illustration an.

a) JavaScript

b) PHP

Drei Fragen stecken in der Aufgabe, je Sprache:

  • Global: Darf eine Funktion eine Variable von außerhalb benutzen?
  • Lokal: Wo gilt eine Variable, die in der Funktion angelegt wird?
  • Parameter: Was passiert bei zu wenigen oder zu vielen Werten im Aufruf?

Eine globale Variable steht außerhalb jeder Funktion. Eine lokale Variable gilt nur in einem Teil des Programms, etwa in einer Funktion.

Die Musterlösung enthält einige Ungenauigkeiten. Sie sind dort erklärt, wo sie vorkommen: var in Schritt 3, fehlendes $ in Schritt 10, die Zahl der Parameter in Schritt 11, & in Schritt 12.

Merke: Ein gutes Beispiel zeigt alle drei Fragen in einer kleinen Funktion: eine globale Variable, eine lokale Variable, einen Parameter mit Default-Wert und mehrere Aufrufe.
  1. JavaScript: global, Parameter, lokal, Aufrufe.
  2. PHP: dieselbe Funktion, dieselben Fragen.
  3. PHP extra: Referenzparameter.

Eine globale Variable

var glob_var = 44;

glob_var steht außerhalb jeder Funktion. Damit ist sie global: Jede Funktion im Skript kann sie lesen und ändern.

Aus Skript 02, Folie 23: Mit var werden globale und funktionslokale Variablen angelegt, mit let blocklokale; const gilt wie let.

Parameter mit Default-Wert

function foo(a, b = 2) {

foo hat zwei Parameter. Ein Typ steht nicht dabei, JavaScript prüft keine Typen.

b = 2 ist ein Default-Wert (Standardwert): Fehlt b im Aufruf, gilt 2. Das gibt es in JavaScript seit ES2015 (der Sprachversion von 2015).

Noch 12 Schritte bis zum Ergebnis
Den ganzen Lösungsweg sehen Studierende und Lehrende der HS KL. Registriere dich mit deiner Adresse @stud.hs-kl.de oder @hs-kl.de, dann geht es hier direkt weiter.

Abbildung 1(a) JavaScript

            
LegendeHier entsteht das JavaScript-Beispiel; noch sind alle Zeilen leer.