lehrkraefte:blc:informatik:ffprg1-2023:js-no-globals

Closures

Wird in JavaScript eine innere Funktion innerhalb einer äusseren Funktion definiert, erhält die innere Funktion Zugriff auf die Variablen der äusseren Funktion. Damit können globale Variablen umgangen werden, und man nutzt stattdessen die lokalen Variablen einer einzigen äusseren Funktion.

Allerdings können dann im HTML-Code keine Funktionen direkt aufgerufen werden, sondern die Event-Handler müssen vom JavaScript-Code den Element hinzugefügt werden.

In depth: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures

Ohne globale Variablen

Studieren Sie folgendes Beispiel: 05-no-globals.zip

Hinweis:

Der load Event vom window ist nicht unbedingt die effizienteste, aber die einfachste Lösung. Gewisse Dinge könnten schon erledigt werden, wenn das DOM geladen ist (load Event vom document). Es kann aber sein, dass dieser Event feuert, bevor der Handler registriert wurde, was dann dazu führt, dass der Code nicht ausgeführt wird.

  • lehrkraefte/blc/informatik/ffprg1-2023/js-no-globals.txt
  • Last modified: 2023/02/17 08:07
  • by Ivo Blöchliger