Variable an Funktion übergeben
Mark
- javascript
Nabend da draussen!
Steh im Moment irgendwie auf der Leitung...
ich errechne einen Wert, z.B
var wert = 1+2;
und möchte dann diesen an eine Funktion übergeben...
window.setTimeout('meinefunction(wert)', 1000);
...geht nicht!
Gebe ich jedoch:
window.setTimeout('meinefunction(3)', 1000);
...funktioniert es, was mache ich falsch?
Bin mir sicher, dass ich da irgendwo einen saudummen Fehler mache..., kann mich trotzdem mal einer mit'm Zaunpfahl erschlagen?
Danke
Hi,
window.setTimeout('meinefunction(wert)', 1000);
was mache ich falsch?
Du gehst davon aus, die Variable 'wert' sei im globalen Scope verfügbar, was aber falsch ist. Arbeite entweder mit einer function(), oder nutze Stringverknüpfung.
Cheatah
Hi,
window.setTimeout('meinefunction(wert)', 1000);
was mache ich falsch?Du gehst davon aus, die Variable 'wert' sei im globalen Scope verfügbar, was aber falsch ist. Arbeite entweder mit einer function(), oder nutze Stringverknüpfung.
Cheatah
Hab' gerade gefunden...., lasse ich var weg geht's
also nicht
var wert=1+2
sondern
wert = 1+2
Danke und sorry
Hi,
Hab' gerade gefunden...., lasse ich var weg geht's
das ist die schlechteste denkbare Lösung, weil Du so "irrtümlich" eine globale Variable deklariert hast. Wenn Du das möchtest, deklariere sie explizit im globalen Scope.
Cheatah
Hi,
Hab' gerade gefunden...., lasse ich var weg geht's
das ist die schlechteste denkbare Lösung, weil Du so "irrtümlich" eine globale Variable deklariert hast. Wenn Du das möchtest, deklariere sie explizit im globalen Scope.
Cheatah
O.K. dann muss ich wohl warten, bis mir jemand hilft. Danke schonmal für die Hinweise..., hätte ich mehr Ahnung könnte ich bestimmt was damit anfangen...
Gruss, Mark
Hi,
Danke schonmal für die Hinweise..., hätte ich mehr Ahnung könnte ich bestimmt was damit anfangen...
was verstehst Du denn nicht?
Cheatah
Hi,
Danke schonmal für die Hinweise..., hätte ich mehr Ahnung könnte ich bestimmt was damit anfangen...
was verstehst Du denn nicht?
Cheatah
»»
"Stringverknüpfung" ... das ist das was ich nicht verstehe und wie soll ich in einer function arbeiten?
In meinem Script wird die variable in einer Funktion erzeugt und an eine andere Funktion übergeben.
Hi,
"Stringverknüpfung" ... das ist das was ich nicht verstehe
was ein String ist weißt Du? Wenn ja, dann weißt Du sicher auch, wie man zwei Strings miteinander verknüpft, also "zu einem einzigen String macht".
und wie soll ich in einer function arbeiten?
Anstatt des Strings, der Deinen zeitverzögerten Aufruf beinhaltet, gibst Du eine function() an. Mitten im window.setTimeout().
Cheatah
Nabend... (Nein, ich habe noch nicht aufgegeben)
was ein String ist weißt Du? Wenn ja, dann weißt Du sicher auch, wie man zwei Strings miteinander verknüpft, also "zu einem einzigen String macht".
Jo , ich weiss was ein String ist... nur warum sollte ich bei der o.g. Funktion Strings verknüpfen? Die zu übergebene Variable besteht aus einer Zahl, weiter nix ?!
Anstatt des Strings, der Deinen zeitverzögerten Aufruf beinhaltet, gibst Du eine function() an. Mitten im window.setTimeout().
in meinem setTimeout wird bereits eine Funktion gestartet, in der die o.g. Variable mit übergeben werden soll,
Gruss Mark
Hi,
Jo , ich weiss was ein String ist... nur warum sollte ich bei der o.g. Funktion Strings verknüpfen?
weil das erste Argument von window.setTimeout() (hier) ein String _ist_.
Anstatt des Strings, der Deinen zeitverzögerten Aufruf beinhaltet, gibst Du eine function() an. Mitten im window.setTimeout().
in meinem setTimeout wird bereits eine Funktion gestartet,
Nein, es wird ein String übergeben, der ausgeführt wird. Es gibt die Alternative, eine Funktion zu übergeben.
Cheatah
» ich errechne einen Wert, z.B
» var wert = 1+2;
»
» und möchte dann diesen an eine Funktion übergeben...
» window.setTimeout('meinefunction(wert)', 1000);
»
» ...geht nicht!
Hi!
So geht's: window.setTimeout('meinefuntion('+wert+')', 1000);
sonst bekommt Deine Funktion "meinefunktion" als Übergabewert "wert" übergeben und nicht den Wert von "wert", also 3.
Viele Grüße
Natsukawa