Auge: Array aus einer Function abrufen (JS)

Beitrag lesen

Hallo

Hi, danke für eure schnellen Antworten. Gibt es keine andere möglichkeit die einzelnen Werte anzusprechen, außer diese in extra angelegte Variablen zu packen?

Nein. Eine Funktion tut etwas und stellt, wie hier, eventuell einen Rückgabewert bereit. That's it, erst einmal.

Variablen, die in einer Funktion mit var n deklariert werden, stehen auch nur in ihr zur Verfügung. Du könntest, solltest aber nicht, die Variable ohne das Schlüsselwort var deklarieren (n = 'irgendwas';). Der Wert steht dir dann auch außerhalb der Funktion zur Verfügung. Allerdings steht er dir dann auch außerhalb zur Verfügung. Der Wert einer vorher außerhalb der Funktion deklarierte Variable würde überschrieben. Eine spätere Deklarierung der Variablen n außerhalb der Funktion würde zu einem Fehler führen. Später, auerßhalb der Funktion zugewiesene Werte für n würden den aus der Funktion stammenden Wert überschreiben ….

Das will man alles nicht, selbst wenn das in einem kurzen Skript behandelbar bleibt. Irgendwann schlägt eines der oben beschriebenen Szenarien oder ein anderes zu und man beginnt, sich einen Wolf zu suchen, um die Ursache zu ermitteln.

Ich habe das Problem, dass die Umgebung, in der ich den Code ausführen möchte, eine bestimmte Grenze besitzt was den ByteCode angeht.

Einen Variablennamen um den Preis möglicher neuer Fehler einsparen zu wollen, ist mMn Unfug. Wo liegen denn überhaupt die Grenzen und nach welchen Kriterien sind sie definiert?

PS: Oder habe ich auf diese Weise bereits eine gewisse Ersparnis, da ich die Funktion nun extern deklariert habe und die Rechnung der for-Schleife nun nicht mehr in der Eigentlichen bzw. Haupt-Umgebung/Funktion abläuft?

Die Funktion wird ja im aufrufenden Skript verwendet. Sie ist bei ihrer Ausführung also diesem zuzuschlagen. Wird sie an mehreren Stellen benutzt, spart sie aber Dateigröße. Inwieweit das einen relevanten Einfluss auf die Größe des Gesamtskripts im RAM hat, kann ich nicht beurteilen.

Tschö, Auge

--
Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
Toller Dampf voraus von Terry Pratchett