Alert - stack overflow
Michael W.
- javascript
Hallo,
was bedeutet diese meldung: <img src="http://www.michaelwoelk.de/cronjobs/stackoverflow.gif" border="0" alt="">
ich wollte anstatt diesen text einen selbst definierten text ausgeben.
beim aufrufen der seite wird folgende funktion aufgerufen:
<script language="javascript1.2">
function alert()
{
alert('text ein text');
}
</script>
aber anstatt des "text ein text" "kommt §stack overflow at line x".
wieso ?
Danke
Michael
Hallo,
ich wollte anstatt diesen text einen selbst definierten text ausgeben.
beim aufrufen der seite wird folgende funktion aufgerufen:<script language="javascript1.2">
function alert()
{
alert('text ein text');
}
</script>aber anstatt des "text ein text" "kommt §stack overflow at line x".
wieso ?
Du versuchst die alert()-Methode des window-Objektes mit einer eigenen Funktion alert() zu ueberschreiben. Versuche es so:
function Meldung(text)
{
alert(text);
}
Beispielaufruf: <body onload="Meldung('ein Text')">
MfG, Thomas
Hi!
<script language="javascript1.2">
function alert()
{
alert('text ein text');
}
</script>aber anstatt des "text ein text" "kommt §stack overflow at line x".
wieso ?
Weil es die Funktion alert() schon gibt und Du diese erneut definierst!
So gehts:
<script type="text/javascript">
function sagwas()
{
alert('text ein text');
}
sagwas(); //Aufruf
</script>
Grüße,
Buergle
Hi,
Hallo,
was bedeutet diese meldung: <img src="http://www.michaelwoelk.de/cronjobs/stackoverflow.gif" border="0" alt="">
ich wollte anstatt diesen text einen selbst definierten text ausgeben.
beim aufrufen der seite wird folgende funktion aufgerufen:<script language="javascript1.2">
function alert()
{
alert('text ein text');
Hier rufst Du Deine selbstdefinierte Funktion alert wieder auf.
Dazu muß sich der Interpreter im Stack merken, wo er nach Ende der aufgerufenen Funktion weitermachen soll.
Dann geschieht folgendes:
Deine selbstdefinierte Funktion alert wird wieder aufgerufen.
Dazu muß sich der Interpreter im Stack merken, wo er nach Ende der aufgerufenen Funktion weitermachen soll.
Dann geschieht folgendes:
Deine selbstdefinierte Funktion alert wird wieder aufgerufen.
Dazu muß sich der Interpreter im Stack merken, wo er nach Ende der aufgerufenen Funktion weitermachen soll.
Dann geschieht folgendes:
Deine selbstdefinierte Funktion alert wird wieder aufgerufen.
Dazu muß sich der Interpreter im Stack merken, wo er nach Ende der aufgerufenen Funktion weitermachen soll.
Dann geschieht folgendes:
Deine selbstdefinierte Funktion alert wird wieder aufgerufen.
Dazu muß sich der Interpreter im Stack merken, wo er nach Ende der aufgerufenen Funktion weitermachen soll.
....
Und irgendwann mag der Javascript-Interpreter nicht mehr und wirft die Fehlermeldung, weil er im Stack keinen Platz mehr hat.
cu,
Andreas
Hallo,
was bedeutet diese meldung: <img src="http://www.michaelwoelk.de/cronjobs/stackoverflow.gif" border="0" alt="">
ich wollte anstatt diesen text einen selbst definierten text ausgeben.
beim aufrufen der seite wird folgende funktion aufgerufen:<script language="javascript1.2">
function alert()
{
alert('text ein text');
}
</script>aber anstatt des "text ein text" "kommt §stack overflow at line x".
wieso ?
Welche Version hat denn das Programm mit diesem Bug? (Da IE vermute ich alle, aber hätte mich doch mal interessiert.)
Der Mozilla (1.1) z.B. sagt dazu in der Javascriptkonsole:
"Error: too much recursion"
Ist kein Bug? Doch! Auch solche selten dämlichen Fehlermeldungen sind durchaus als Bug zu sehen. Denn es muß ja nicht so etwas Offensichtliches sein, sondern kann sich durchaus auch in vielen hundert Zeilen Code verstecken. Wenn man es ermöglicht, Funktionen umzudefinieren, muß auch das entsprechende Umfeld eingebaut werden.
Ja, auch der Mozilla ist da nicht ganz sauber, das Umdefinieren von Standardfunktionen sollte zumindest eine Warnung ergeben.
Wäre auch vielleicht mal interessant zu erfahren, ob sich hinter der Meldung "stack overflow" nicht bloß lediglich ein fehlgeschlagener Versuch Speicher zu allozieren verbirgt, sondern tatsächlich ein Overflow, der - obwohl "nur" im Stack - auch ausnutzbar ist.
Hey, das ist MS, da ist _nichts_ unmöglich! >;->
BTW: bitte beachte die typographischen Regeln bezüglich Leerzeichen. Führt insbesondere im Internet zu Darstellungsfehlern. Da nennt man es übrigens auch "plenken". Ich ignoriere sowas zwar meist, doch scheint in letzter Zeit Überhand zu nehmen und nervt deshalb langsam.
Man muß es ja nicht jedem unter die Nase reiben, das die Deutschen bei PISA so besch...eiden abgeschnitten haben ;-)
so short
Christoph Zurnieden