dedlfix: Verständnisfrage zur Kapselung

Beitrag lesen

Tach!

Wenn ich innerhalb einer Funktion in JS eine Variable mit var deklariere, dann gilt diese Variable nur innerhalb der Funktion.
Aber wie verhält es sich mit Funktionsnamen?

Ebenso.

...wäre dann hier die Funktion getSum() auf den Namesraum der Funktion addition() begrenzt?

Ja.

Aufrufen könnte man diese Funktion von außerhalb der Elternfunktion zwar nicht, aber könnte es nicht trotzdem unter Umständen zu Konfusionen führen, gleiche Funktionsnamen innerhalb eines Scripts zu verwenden, oder wäre das auf die Art tatsächlich ausgeschlossen?

Nicht nur bei Funktionen, auch bei Bezeichnern für Variablen gibts eine Reihenfolge, wo diese gesucht werden: zuerst im aktuellen Scope, dann im Scope oben drüber und so weiter. Gleichnamige Bezeichner können verwirren, müssen es aber nicht per se. Kommt auch drauf an, wie übersichtlich die zu betrachtende Codestelle ist.

dedlfix.