Elemente sollen im Array gespeichert bleiben...
Ralf Heumann
- javascript
1 molily
0 Ralf Heumann0 wahsaga
Hallo,
ich habe eine Frage zu Javascript Arrays:
ich habe eine Funktion programmiert, welche ich onClick aufrufe. In ihr wird ein Array, welches zuerst leer ist mit Elements gefüllt hier nur eine theoretische Funktion zur Verdeutlichung:
function checkPriority(fieldName) {
var saveRadios = new Array();
saveRadios.push(fieldName);
}
jetzt möchte ich aber später noch was anderes anklicken, dessen Name ebenfalls in dieses Array geschrieben wird, jedoch ist dann das alte Element nicht mehr drin. Wie schaffe ich es ein Array <?!> "global zu speichern" </?!> damit ich es mit Elementen füllen kann, welche ich erst am Ende ausgeben möchte?
Vielen Dank für euere Hilfe.
Gruß Ralf
Hallo,
function checkPriority(fieldName) {
var saveRadios = new Array();
saveRadios.push(fieldName);}
>
> jetzt möchte ich aber später noch was anderes anklicken, dessen Name ebenfalls in dieses Array geschrieben wird, jedoch ist dann das alte Element nicht mehr drin. Wie schaffe ich es ein Array <?!> "global zu speichern" </?!> damit ich es mit Elementen füllen kann, welche ich erst am Ende ausgeben möchte?
Wenn du eine Variable mit `var`{:.language-javascript} davor in einer Funktion notierst, dann steht sie nur in dieser Funktion (und Untermethoden) zur Verfügung (lokaler Geltungsbereich).
Wenn du einfach `saveRadios = new Array();`{:.language-javascript} schreibst, ist die Variable global und sie existiert auch noch, wenn die Funktion bereits beendet ist.
Mathias
Wenn du eine Variable mit
var
davor in einer Funktion notierst, dann steht sie nur in dieser Funktion (und Untermethoden) zur Verfügung (lokaler Geltungsbereich).
Wenn du einfachsaveRadios = new Array();
schreibst, ist die Variable global und sie existiert auch noch, wenn die Funktion bereits beendet ist.
ahhh vielen Dank :)
Gruß Ralf
hi,
Wenn du einfach
saveRadios = new Array();
schreibst, ist die Variable global und sie existiert auch noch, wenn die Funktion bereits beendet ist.
wenn er dann aber wieder die gleiche funktion aufruft, und dort diesen code wiederholt ausführt, überschreibt er sich die bestehende variable mit einem neuen, leeren array.
also besser die variable gleich außerhalb der funktion als globale anlegen und als array initialisieren.
(außerhalb der funktion dann ruhig wieder mit schlüsselwort var davor.)
gruß,
wahsaga