Rolf B: Warum ist die Variable nicht im Scope (und wie greife ich dann auf sie zu)?

Beitrag lesen

Hallo Hugo,

sicherlich ist der Code, den du zeigst, abgestrippt und dein Programm ist komplexer.

Um auch nur ansatzweise klarstellen zu können, wo zaehler hingehört, muss man aber mehr wissen. Diese Variable kann global sein, lokal in ersteFunktion oder lokal in leiderNochEineFunktion. Eine Deklaration in der inneren Funktion von ersteFunktion erscheint mir definitiv sinnlos, das ist viel zu weit innen.

Aber, je nach dem, wo sie deklariert wird, zählst Du ganz unterschiedliche Dinge. Denn Du wirfst hier wie wild mit Closures um Dich, und der Ort des Zählers bestimmt, wieviele Instanzen dieses Zählers du erzeugst.

Eine globale Variable muss nicht immer schlecht sein. Wenn Du exakt einen Zähler haben willst, wird es auch keine andere Möglichkeit geben. Wenn Du vermeiden willst, den global scope vollzumüllen, lege alles was Du das hast in ein Modul (ECMAScript Modul oder IIFE).

Rolf

--
sumpsi - posui - obstruxi