Frage von maxlllll, 56

Wie kann ich auf eine variable zugreifen die in einer Function deklariert ist?

Ich habe ein Text feld auf dass ich zugreifen möchte jedoch kann ich nur inherhalb der Function auslesen

Antwort
von androhecker, 43

Bitte die Java Begriffe lernen, es ist eine Methode, KEINE Funktion. Zur Sache: Natürlich kannst du auf Lokale Variablen nicht von woanders zugreifen, ergibt auch keinen Sinn, du musst sie als Klassen variable definieren, also in der Klasse und nicht in der Methode definieren.

Kommentar von regex9 ,

Bitte erst den Unterschied zwischen JavaScript und Java lernen, denn in JavaScript gibt es Funktionen. Überhaupt ist in der Fragestellung nirgendwo von Java die Rede.

Kommentar von androhecker ,

Bzw stand Java, er hat es geändert.

Kommentar von androhecker ,

Auch nicht von JavaScript, in den Tags steht Java...

Antwort
von musicman67, 33

Du musst die beiden Klassen mit einander "verbinden"
Dann kannst du von einer klasse auf die Methode einer anderen zu greifen

Kommentar von maxlllll ,

wie sehe das konkret aus?

Kommentar von musicman67 ,

Angenommen du hast die Klasse Geld. Du schreibst in den Konstruktor: geld Geld1; wenn du auf eine Methode von Geld zu greifen möchtest (zum Beispiel Methode zahlen): Geld.zahle();

Antwort
von RageMode, 40

Arbeitest du mit Java oder mit Javascript (da du als Tag auch HTML angegeben hast)

Kommentar von maxlllll ,

Java Script 

Jedoch wenn ich sie global deklariere kann ich sie trotzdem nicht benutzen wie sähe dass konkret aus?

Kommentar von Sarkophator ,

Du müsstest ein konkretes Beispiel liefern, denn so ist es schwierig dir zu helfen. Wenn du deinen Code zeigen könntest, könnten wir vielleicht genauer sagen was daran falsch läuft.

Ansonsten kannst du allerdings außerhalb einer Funktion auf keine Variable zugreifen, die im Scope der Funktion liegt:

function foo() {
  var a = 25;
  console.log(a); // = 25
}

function bar() {
  console.log(a); // = ReferenceError
}

console.log(a); // = ReferenceError

Um von überall auf die Variable zugreifen zu können, müsstest du sie im global Scope definieren, das geht auf zwei verschiedenen Arten:

var a = 25;

function foo() {
  b = 123;
  console.log(a + ", " + b); // = 25, 123
}

function bar() {
  console.log(a + ", " + b); // = 25, 123
}

console.log(a + ", " + b); // = 25, 123

Wie gesagt, falls das nicht hilft, dann sind mehr Informationen von Nöten um weiterzuhelfen.

Kommentar von phigeek ,

Immer dieses "foo-bar" (fu***ed up beyond all recognition). Warum?? Nennt Eure Funktionen in Deutsch doch "blahblah()", "tadaa()" oder "gugus()".

Wobei ehrlich. Alle diese O'Reilly-Bücher trichtern einem den foo-bar ja schon ein, geb ich zu; und ich verwende es selbst auch ab und zu...

;-)

Antwort
von S20000, 13

Den Textfeld ausserhalb der Funktion deklarieren.

Keine passende Antwort gefunden?

Fragen Sie die Community