Variablen beim Aufruf einer Funktionen übergeben
Dickus
- javascript
0 kai0 Dickus
0 D.R.0 rfb
0 D.R.0 Mathias Brodala0 D.R.0 Mathias Brodala0 D.R.
Hallöle,
habe hier gerade ein kleines Problem mit der Übergabe von Werten
an eine Funktion.
Folgende Situation:
var x=0;
function eins(x)
{
alert(x); //hier sollte 1 ausgegeben werden.
}
function zwei()
{
x=1;
return x; // geht das so?
}
<a href="javascript:zwei(); eins(x);"...>Klick</a>
Erste Frage:
Wie kann ich den X-Wert der zweiten Funktion an die erste Funktion
übergeben?
In der ersten Funktion soll für x der Wert 1 ausgegeben werden.
Zweite Frage:
Kann ich mir die Funktion 'function zwei()' schenken und beim
Aufruf javascript:eins(x) schon den neuen Wert (x=1) übergeben?
javascript:eins(x=1) oder Ähnliches?
Danke
Dickus
hallo,
also entweder:
<a href="javascript: eins( zwei() );"...>Klick</a>
oder direkt
<a href="javascript: eins( 1 );"...>Klick</a>
cu
kai
hallo,
also entweder:
<a href="javascript: eins( zwei() );"...>Klick</a>oder direkt
<a href="javascript: eins( 1 );"...>Klick</a>cu
kai
Super !
Alles klar, damit kann ich arbeiten. :-)
Danke
Dickus
Hallo,
habe hier gerade ein kleines Problem mit der Übergabe von Werten
an eine Funktion.Folgende Situation:
var x=0;
function eins(x)
{
alert(x); //hier sollte 1 ausgegeben werden.
}
Du solltest dem Parameter eine andere Bezeichnung geben als der Variablen.
[…]
Erste Frage:
Wie kann ich den X-Wert der zweiten Funktion an die erste Funktion
übergeben?
In der ersten Funktion soll für x der Wert 1 ausgegeben werden.
eins(zwei())
Zweite Frage:
Kann ich mir die Funktion 'function zwei()' schenken und beim
Aufruf javascript:eins(x) schon den neuen Wert (x=1) übergeben?
warum sollte das nicht gehen? Schreibe den Befehl einfach mit in die Funktion. Oder willst du die Variable immer um 1 erhöhen? Dann kannst du einfach:
x++
oder
x += 1
oder
x = x + 1
verwenden.
javascript:eins(x=1) oder Ähnliches?
JavaScripts sollten möglichst in richtigen Eventhandlern stehen und nicht in Links.
mfg. Daniel
Moin
JavaScripts sollten möglichst in richtigen Eventhandlern stehen und nicht in Links.
Warum?
Gruß
rfb
Hallo,
JavaScripts sollten möglichst in richtigen Eventhandlern stehen und nicht in Links.
Warum?
• Du musst nicht unbedingt das <a>-Element verwenden
• Falls du das <a>-Element verwendest, kannst du im href sinnvolle Alternativ-Links anbieten
• „this“ funzt nur in Eventhandlern
Obwohl ich natürlich empfehlen würde, gar keine Eventhandler in den HTML-Quelltext zu schreiben, sondern selbige in's Script zu verlagern und die Events von dort aus aufzurufen.
z.B.
statt
<body onload="jscode" …
lieber
window.onload = function(){jscode}
oder für
<input onclick="jscode" …
lieber
document.getElementsByTagName("input")[0].onclick = function(){jscode}
Das wäre dann eine vollständige Trennung von Inhalt und Script (Unobtrusive JavaScript)
mfg. Daniel
Hallo Daniel.
• „this“ funzt nur in Eventhandlern
Nö, „this“ funktioniert immer und überall.
Einen schönen Freitag noch.
Gruß, Mathias
Hallo,
Hallo Daniel.
• „this“ funzt nur in Eventhandlern
Nö, „this“ funktioniert immer und überall.
OK, aber nicht so, wie man es will. Wenn man nur auf das window-Objekt verweisen will, kann man auch gleich „window“ schreiben.
<a href="javascript:alert(this.innerHeight)">
Finde ich jedenfalls nicht besonders sinnvoll.
mfg. Daniel
Hallo Daniel.
Wenn man nur auf das window-Objekt verweisen will, kann man auch gleich „window“ schreiben.
Einmal abgesehen davon, dass Eigenschaften und Methoden des window-Objektes jederzeit alleinstehend aufgerufen werden kann, spricht doch nichts dagegen, innerhalb von Methoden dieses Objektes einfach per „this“ auf window zu verweisen.
<a href="javascript:alert(this.innerHeight)">
Finde ich jedenfalls nicht besonders sinnvoll.
Ich auch nicht. JavaScript-Code hat im href-Attribut von Links nichts zu suchen.
Einen schönen Freitag noch.
Gruß, Mathias
Hallo,
Wenn man nur auf das window-Objekt verweisen will, kann man auch gleich „window“ schreiben.
Einmal abgesehen davon, dass Eigenschaften und Methoden des window-Objektes jederzeit alleinstehend aufgerufen werden kann,
Somit ist <a href="javascript:this.… also komplett sinnlos…
spricht doch nichts dagegen, innerhalb von Methoden dieses Objektes einfach per „this“ auf window zu verweisen.
Was spricht denn dafür?
<a href="javascript:alert(this.innerHeight)">
Finde ich jedenfalls nicht besonders sinnvoll.
Ich auch nicht. JavaScript-Code hat im href-Attribut von Links nichts zu suchen.
Womit wir wieder beim Ausgangsposting wären.
mfg. Daniel