Variablenwerte für nächsten Funktionsaufruf erhalten
Günther S
- javascript
Hallo zusammen,
ich versuche gerade, mir etwas JS anzueignen und habe folgendes Problem:
Ich hätte gerne, dass Variablen und Objekte auch für folgende Funktionsaufrufe derselben Funktion erhalten bleiben (natürlich ohne, dass zwischenzeitlich die ganze Seite neugeladen wird).
d.h. z.B.:
function test()
{
if(typeof(num) != "number")
{
num = 1;
}
num++;
alert(num);
}
wenn ich jetzt diese Funktion 5 mal hintereinander aufrufe, ist aber num jedes mal "2" - und nicht (wie ich mir das wünsche) 2, 3, 4, 5 und 6.
Kann man das irgendwie lösen?
Gruß,
Günther
Hi,
Kann man das irgendwie lösen?
Z.B. mit num als globaler Variable:
var num;
function test()
Gruß, Cybaer
Hallo,
Z.B. mit num als globaler Variable:
var num;
function test()
danke erstmal für diesen Denkanstoß.
Allerdings erfüllt dieser Weg noch nicht ganz mein Vorhaben - ich habe mein Bsp. wohl hier zur Demonstration zu sehr vereinfacht. In Wirklichkeit handelt es sich um ein Array:
var testarray = new Array();
function test(arg1, arg2, ...)
{
testarray[arg1] = new Object(); // diese Zeilen sollen nur ausgeführt werden,
testarray[arg1] = 1; // falls es dieses Objekt noch nicht gibt.
testarray[arg1]++;
alert(testarray[arg1];
}
Kann man das bewerkstelligen?
Gruß,
Günther
Hi,
In Wirklichkeit handelt es sich um ein Array:
Nein, in Wirklichkeit handelt es sich um ein Objekt.
var testarray = new Array();
var testarray = new Object();
testarray[arg1] = new Object(); // diese Zeilen sollen nur ausgeführt werden,
Ersatzlos streichen.
testarray[arg1] = 1; // falls es dieses Objekt noch nicht gibt.
Vorher klären, ob es testarray[arg1] schon gibt
Gruß, Cybaer
wenn ich jetzt diese Funktion 5 mal hintereinander aufrufe, ist aber num jedes mal "2" - und nicht (wie ich mir das wünsche) 2, 3, 4, 5 und 6.
bei mir klappt das einwandfrei.
Struppi.