molily: Warum ist das so?

Beitrag lesen

Also werden alle Variable Statements ausgeführt, wenn der Funktionskörper 'betreten' wird, auch wenn die Variable Statements in einem weiteren Block Statement stehen.

Richtig.

Wie kann ich mir dann die Variablendeklaration sparen, wenn sie nicht benötigt wird?

Gar nicht - höchstens, indem du den Teil der Funktion in eine weitere Funktion kapselst oder auslagerst.
Da die Variable Statements ohnehin immer ausgeführt werden, kannst du sie auch direkt am Funktionsanfang notieren, auch wenn die Variable nie genutzt werden.

Wenn jetzt die Funktion computeValue() sehr oft ausgeführt wird, wäre es doch sparsamer, die Variablendeklaration nicht durchzuführen.

Im Prinzip ja, aber vermutlich fällt das überhaupt nicht ins Gewicht. Wenn es jetzt tausende Variablen wären, würdest du vielleicht sehen können, dass etwas mehr Speicher verbraucht wird. Aber einerseits handelt es sich um leere Variablen, also sind es nur Hüllen, die angelegt werden, andererseits werden sie beim Ablauf der Funktion direkt wieder gelöscht. Ich vermute, dass die heutigen JavaScript-Interpreter solche Kleinigkeiten wegoptimieren. Aber du kannst ja mal testen, ob Performance-Einbußen zu verzeichnen sind.

Mathias