JavaScript var global/local (mit Beispiel)

Fastel

Cadet 4th Year
Registriert
Aug. 2009
Beiträge
72
Javascript:
<head>
    <script>
        // der user startet myFunc1 (body)
        myFunc1 = function () {
            var x = 5 // hier wird der wert von x (durch den User/Input) festgelegt z.B. 5
        }

        // der user startet myFunc2, die NICHT in die myFunc1 genestet wird
        myFunc2 = function () {
            var z = x
            console.log(z) // wie komme ich an x?
        }
        console.log(z) _// wie komme ich an z (bzw x)?
    </script>
</head>

<body>
    <script>
        myFunc1()
        myFunc2()
    </script>
</body>

</html>
Der User startet onclick myFunc1 - hier wird x eingegeben.
Der User startet onclick myFunc2 - (ich sorge dafür, dass das nur geht wenn 1 ordentlich ausgeführt wurde und x festgelegt wurde). Wie kommt myFunc2 oder global an das x?

ps: ich bewege mich noch bei den Grundlagen - wahrscheinlich ist es ganz einfach ;)
 
Es gibt hier mehrere Möglichkeiten, das hängt davon ab was du genau vorhast. Variablendefinitionen sind zunächst vom Scope abhängig, wenn du x beispielsweise außerhalb der Funktionsdefinitionen deklarierst, dann können beide Funktionen auf diese Variable zugreifen:

Javascript:
        var x = 0;
        myFunc1 = function () {
            x = 5;
        }

        myFunc2 = function () {
            var z = x;
            console.log(z);
        }

Sauber und übersichtlich ist das allerdings nicht. Eine weitere Methode wäre, den Wert in myFunc1 mit return zurückzugeben und ihn als Parameter an myFunc2 weiterzugeben.
Semikolone nicht vergessen!
 
  • Gefällt mir
Reaktionen: BeBur, dominic.e und kim88
Hey, ja mit return bin ich weiter gekommen und musste das Programm umstellen.
Danke

edit: Die übrige Frage, die hier stand ist gelöst.
 
Zuletzt bearbeitet:
Zurück
Oben