SELFHTML
Forums-Auslese
JavaScript
Basierend auf einem Forums-Beitrag vom 09.09.1998 von:
Christine Kuehnel, kuehnel@screenExa.net
Das folgende Beispiel demonstriert, wie Sie zweidimensionale Arrays mit JavaScript erzeugen können. Der erste Teil des JavaScripts initialisiert das zweidimensionale Array. Im zweiten Teil erfolgt die Ausgabe des so erzeugten Arrays. Lesen Sie hierzu auch den SELFHTML-Abschnitt Array: Allgemeines zur Verwendung
.
<html> <head><title>Zweidimensionales Array</title></head> <body> <script language="JavaScript"> <!-- a = new Array(4) for (i=0; i < 4; i++) { a[i] = new Array(4) for (j=0; j < 4; j++) {a[i][j] = "["+i+","+j+"]"} } for (i=0; i < 4; i++) { str = "Row "+i+":" for (j=0; j < 4; j++) {str += a[i][j]} document.write(str,"<p>") } //--> </script> </body> </html> |
Dieses Beispiel wurde der JavaScript-Dokumentation von Netscape entnommen und kann unter
http://developer.netscape.com/docs/manuals/communicator/jsref/core1.htm
![]() ![]() |
Basierend auf einem Forums-Beitrag vom 22.09.1998 von: Christine Kuehnel, kuehnel@screenExa.net
Welcher Aufruf ist der richtige?
eval() ist eine Funktion, die Zeichenketten zu "bewerten" versucht, und zwar im Sinne einer Rechenoperation. Das ist nur die halbe Wahrheit. eval() wandelt nämlich kontextabhängig um.
Zuerst einmal zur Verdeutlichung, die übliche Verfahrensweise sieht so aus:
ein_Bild = new Image(); ein_Bild.src = 'bild1.gif'; document['Bild'].src = ein_Bild.src;
document['Bild'] ist hier ein Objekt mit der Eigenschaft src. ein_Bild ist auch ein Objekt, auch mit der Eigenschaft src. Die Zuweisung erfolgt also zwischen Objekten.
Zurück zum Anfang:
document[name] ist ebenfalls ein Image-Objekt, name dabei ein String (entspricht 'Bild' aus obigen Beispiel).
Dessen src-Eigenschaft soll, wie in meinem Beispiel, der src-Eigenschaft eines anderen Objektes gleichgesetzt werden. Das Objekt heißt name.
Die Variable name ist ein String. Gesucht wird aber nicht die src-Eigenschaft von dieser String-Variablen (Die gibt es nicht.), sondern die des Image-Objektes mit Namen name.
Dazu muß ein Objekt erzeugen werden. Dies geschieht mit eval().
Wenn in name "Bildchen" steht, dann macht in diesem Kontext
eval(name + .src) daraus Bildchen.src, d.h. ein Objekt mit Eigenschaft src.
Dies ist eine Möglichkeit mit einem String auszukommen, um verschiedene Image-Objekte ansprechen zu koennen.
Zur Illustration ein weiteres Beispiel:
<html> <head> <title>String + String oder eval()?</title> <script language="JavaScript"> <!-- function Ausgabe() { alert("Ich bin die Funktion Ausgabe()"); alert('typeof(Ausgabe) ist ' + typeof(Ausgabe)); return 1.0; } function ueberString(name) { n=name+"()"; alert(n); alert('n ist ' + n); alert('typeof(n) ist ' + typeof(n)); } function ueberEval(name) { n=eval(name+"()"); alert('n ist ' + n); alert('typeof(n) ist ' + typeof(n)); } //--> </script> </head> <body> <p> <a href="Javascript:Ausgabe()">die Funktion Ausgabe im Direktaufruf</a> </p> <p> <a href="Javascript:ueberString('Ausgabe')">Berechnung der Funktion Ausgabe über String</a> </p> <p> <a href="Javascript:ueberEval('Ausgabe')">Berechnung der Funktion Ausgabe über Eval</a></p> </body> </html> |
Die Funktion ueberEval() berechnet den Namen der Funktion Ausgabe(). Anschließend wandelt sie diesen in das Objekt Ausgabe() um und ruft die Funktion auf. Diese wird dann ausgeführt.
Die Funktion ueberString() berechnet ebenfalls den Namen der Funktion. Im Gegensatz zur Verwendung von eval() wird kein Objekt daraus gebildet und die Funktion Ausgabe() wird nicht ausgeführt.
Im Beispiel wird das reservierte Wort typeof verwendet, um den Typ des Elementes anzuzeigen.
![]() ![]() |
Basierend auf Forums-Beiträge vom 16.09.1998 von:
Thomas Kienzle, Thomas_Kienzle@compuserve.com
Stefan Bach, sbach@t-online.de
Beim Extrahieren einer einzelnen Ziffer aus einer Zahl mittels substring erhalten Sie eine Fehlermeldung. Dies liegt daran, daß der Browser die Zahl als Zahl und nicht als String behandelt. Möchten Sie trotzem dieses Verfahren verwenden, so müssen Sie erst eine "Typkonvertierung" durchführen. Dies erreichen Sie durch Zahl = Zahl + " ". Möchten Sie die Zahl wieder als Zahl interpretieren, genügt es Zahl=Zahl*1 anzugeben. Alternativ können Sie auch Str= Zahl + " " angeben. Zum Extrahieren verwenden Sie dann die Variable Str.
<script language="JavaScript"> <!-- function Konvertierung1(Zahl) { Zahl=Zahl+" "; alert(Zahl.substring(0,1)); Zahl=Zahl*1; } function Konvertierung2(Zahl) { Str=Zahl+" "; alert(Str.substring(0,1)); } //--> </script> |
![]() ![]() |
Basierend auf einem Forums-Beitrag vom 16.09.1998 von:
Timo Ballin, TBallinXXX@aol.com
Mittels JavaScript ist es möglich, Zeichenketten auf unzulässige Zeichen zu überprüfen. Dazu können die Methoden des Stringobjektes lastIndexOf() und charAt() verwendet werden.
<script language="JavaScript"> <!-- function check(eingabe) { var nur_das ="0123456789-[]/"; for (a = 0; a < eingabe.length; a++) {if (nur_das.indexOf(eingabe.charAt(a))<0 ) return false;} return true; } //--> </script> |
Die Funktion check(eingabe) überprüft, ob die Werte von eingabe nur die vorgegebenen Zeichen enthält. Diese sind in der Variablen nur_das abgelegt.
In dem Beispiel wird die Zeichenkette Zeichen für Zeichen daraufhin überprüft, ob dieses Zeichen in dem Bereich von nur_das vorkommt. Ist dies nicht der Fall, wird sofort abgebrochen und false zurückgegeben.
Entsprechen alle Zeichen dem Wertebereich von nur_das, wird der Wert true zurückgegeben. Die Rückgabewerte können dann entsprechend weiterverarbeitet werden.
![]() ![]() |
Basierend auf einem Forums-Beitrag vom 21.10.1998 von:
Stefan Muenz, muenz@csi.com
Die Methode Math.random() generiert Zufallszahlen. Sie können "zufällige" Zahlen aber auch aus dem Datum erzeugen.
<html> <head> <title>Zufallszahlen</title> <script language="JavaScript"> <!-- function Zufallszahl(von,bis) { Jetzt = new Date(); var Zeit = Jetzt.getTime(); var Zahl = 0; Zahl = Zeit % bis; alert(Zahl); return(Zahl); } //--> </script> </head> <body> <a href="JavaScript:Zufallszahl(0,99)">Zufallszahl zwischen 0 und 99</a> </body> </html> |
Mit new Date() wird ein neues Datumsobjekt mit dem Namen Zeit gebildet. Der Variablen Zeit wird mittels Jetzt.getTime() die seit dem 01.01.1970 verflossenen Zeit in Millisekunden zugewiesen. Durch Modulo-Division von Zeit durch die Endzahl ergibt sich ein Rest. Dieser Rest wird als Zufallszahhl ausgegeben. Lesen Sie hierzu auch die SELFHTML-Abschnitte getTime() und
Berechnungsoperatoren.
![]() ![]() |
Basierend auf einem Forums-Beitrag vom 15.08.1998 von:
Christine Kuehnel, kuehnel@screenExa.net
Variable in einem anderen Framefenster können Sie mit
parent.FrameName.dieVariable
auslesen und weiterverarbeiten. Dabei sollten Sie berücksichtigen, daß diese Variablen nicht immer zur Verfügung stehen können.
<script language="JavaScript"> <!-- if (parent.Frame1) if (parent.Frame1.meine_Variable) alert("meine_Variable hat den Wert " + meine_Variable); else alert("meine_Variable ist nicht bekannt"); //--> </script> |
Mit if (parent.Frame1) und if (parent.Frame1.meine_Variable) wird die Existenz des Frames "Frame1" und der Variable abgefragt. Diese Sicherheitsabfrage verhindert Fehlermeldungen, wenn die Variable nicht zur Verfügung steht. Anschließend wird diese weiterverarbeitet.
Mit der gleichen Methode können Sie auch Variablen in anderen Frames verändern bzw. Funktionen ausführen.
Weiterführende Informationen finden Sie in der FAQ der Newsgroup de.comp.lang.javascript auf
http://irb-www.informatik.uni-dortmund.de/~sm/aw/js/faq/fenster/refer30.html.
![]() ![]() |
Basierend auf einem Forums-Beitrag vom 28.09.1998 von:
Marc, marc.ullrich@stud.tu-muenchen.de
Das Abspielen oder Stoppen eines Sounds mittels JavaScript wird durch das direkte Ansprechen von embed erzeugt. Der jeweilige Tag wird anhand seines Namens identifiziert.
document.embeds.Name.play() document.embeds.Name.stop()
Verwenden Sie mehrere Sounds auf einer Seite, können Sie diese auch mit embeds[index] ansprechen.
<html> <head> <title>Sounds</title> <script language="JavaScript"> <!-- function an(name) { document.embeds[name].play();} function aus(name) { document.embeds[name].stop();} //--> </script> </head> <body> <embed name="ueber" src="a.wav" loop=false autostart=false mastersound hidden=true></embed> <embed name="klick" src="b.mid" loop=false autostart=false mastersound hidden=true></embed> <a href="datei.htm" onMouseOver="an('ueber')" onMouseOut="aus('ueber')">Link</a> <a href="#" onClick="an('klick');return false">An</a> <a href="#" onClick="aus('klick');return false">Aus</a> </body> </html> |
Im Beispiel werden mittels onMouseOver, onMouseOut und onClick die Funktionen an() und aus() aufgerufen. Dabei wird jeweils der Name des embed-Tags übergeben.
Beide Methoden können Sie sowohl im Netscape Naviagator ab Version 3 als auch im MS Internet Explorer ab Version 4 verwenden. Beachten Sie aber, daß deren Wirksamkeit stets von den vom Benutzer installierten Plugins abhängt.
![]() | |
weiter:![]() |
![]() |
zurück:![]() |
![]() |
SELFHTML
Forums-Auslese
JavaScript
das Redaktionsteam