Javascript - HalloWelt Playgames Getfun

Direkt zum Seiteninhalt

Hauptmenü:

Wissen > Programmiersprachen

JavaScript Einleitung

JavaScript ist eine Scriptsprache, die an Java angelehnt ist.  JavaScript ist plattformunabhängig, d.h. läuft unter jedem Betriebessystem. Es benötigt jedoch den Netscape Communicator bzw. den MS-Internet Explorer.

JavaScript ist eine Programmiersprache. Sie hat Ähnlichkeit  bei verschiedenen Befehlen mit JAVA oder C/C++. JavaScript besitzt nur wenige Befehle und ist damit sehr kompakt und schnell zu erlernen. Wie auch Delphi, C++, VisualBasic und JAVA orientiert sich JavaScript nicht an Prozeduren, sondern an Objekten. Es können damit interaktive und dynamische WWW-Seiten erstellt werden.  JavaScript mangelt es trotz der einfachen Strukturen nicht an Flexibilität.

Der JavaScript-Text wird als ASCII-Text in die HTML-Datei eingegeben. Das Programm wird dann beim Aufruf der HTML-Datei interpretiert. Zum Programmieren genügt ein normaler Text-Editor. Einen Debugger wie er beispielsweise bei C++ üblich ist, gibt es nicht. Die Fehlersuche ist damit etwas aufwendiger.

Möglichkeiten von JavaScript:

  • Aktuelles Datum und Uhrzeit anzeigen
  • Daten abfragen (z.B. Browserversion, Bildschirmauflösung)
  • Überprüfen eingegebener Daten
  • Zusammenarbeit mit anderen Techniken, wie Java und CGI (Common Gateway Interface)
  • Interaktivität mit dem Anwender steuern
  • Darstellen von Eingabeboxen und eigenen Alarmfenstern
  • Statuszeile des Browsers bestimmen
  • URLs interaktiv erzeugen

 

Grenzen von JavaScript:

  • Typische Aufgaben von CGI-Scripts (z.B. Counter, Gästebuch)
  • Arbeitsspeicherverwaltung
  • Dateioperationen

Historie

JavaScript ist eine gemeinsame Entwicklung von Netscape und Sun. JavaScript wurde 1995 mit dem Netscape Navigator 2.0 als Programmiersprache für das Internet vorgestellt. Der Codename war  "LiveScript" und wird heute als "JavaScript" bezeichnet. Die offizielle Dokumentation zu JavaScript findet man bei Netscape.

Script in HTML einbinden


Die typische Einbindung in den HTML-Code sieht so aus:

<HTML>
<HEAD>

<TITLE>ein beliebiger Titel</TITLE></HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Browser die nicht JavaScript könne überspringen diese Zeilen
//hier steht der JavaScript-Code
-->
</SCRIPT>

<BODY></BODY></HTML>

 

"//" wird innerhalb des JavaScript-Code als Kommentar interpretiert. Bei größeren Programmen sollte davon viel  Gebrauch gemacht werden, um so Fehler schneller zu finden, bzw. spätere Änderungen leichter vornehmen zu können.

Es ist auch möglich den JavaScript-Code an anderer Stelle einzufügen. Der besseren Übersicht wegen empfiehlt es sich aber den Code vor dem <BODY>-Tag einzufügen.

Die verwendete Version kann so eingegeben werden. Für JavaScript 1.3 z.B.:

<SCRIPT LANGUAGE="JavaScript1.3">

Der Aufruf einer bestimmten JavaScript-Funktion erfolgt im HTML-Code über den   <BODY>-Tag:

<BODY ONLOAD="functionsnamexy">    oder auch

<BODY onLoad="functionsnamexy">

Diese Funktion wird nun beim Laden der Seite aufgerufen.

 

Steht der JavaScript-Code in einer externen Text-Datei mit zum Beispiel dem Namen "meinscript.js" lautet die Einbindung so:

<HTML>
<HEAD>

<TITLE>ein beliebiger Titel</TITLE></HEAD>

<SCRIPT LANGUAGE="JavaScript" SRC="meinscript.js">
<!-- hier kann ein Kommentar stehen
-->
</SCRIPT>

<BODY onLoad="functionsnamexyz"></BODY></HTML>

 

Neben onLoad gibt es auch andere sogenannte "Eventhandler", die den Aufruf der Funktion bestimmen:

Hier eine Übersicht dieser Eventhandler:

onAbort                 Funktion wird aufgerufen, wenn die Seite verlassen wird.

onBlur                   Funktion wird aufgerufen, wenn ein Feld den Focus verliert.

onChange            Funktion wird aufgerufen, wenn Inhalte eines Feldes geändert werden.

onClick                 Funktion wird aufgerufen, wenn Button oder die Maus gedrückt werden

onDBClick          Funktion wird aufgerufen, wenn Button oder die Maus zweimal gedrückt werden

onDragDrop       Funktion wird aufgerufen, wenn ein Objekt per Drag&Drop verschoben wird

onError                Funktion wird aufgerufen, wenn ein Fehler auftaucht.

onFocus              Funktion wird aufgerufen, wenn ein Feld den Focus erhält.

onKeyDown        Funktion wird aufgerufen, wenn eine Taste gedrückt wird

onKeyPress        Funktion wird aufgerufen, wenn eine Taste gedrückt und gehalten wird

onKeyUp             Funktion wird aufgerufen, wenn eine gedrückte Taste losgelassen wird

onLoad                Funktion wird aufgerufen, wenn Seite geladen wurde (s.o.)

onMouseDown   Funktion wird aufgerufen, wenn Maustaste gedrückt wird

onMouseMov      Funktion wird aufgerufen, wenn Maus bewegt wird

onMouseOut       Funktion wird aufgerufen, wenn die Maus ein feld verlässt

onMouseOver     Funktion wird aufgerufen, wenn sich die Maus in einem Feld befindet

onMouseUp        Funktion wird aufgerufen, wenn Maustaste lossgelassen wird

onMove                Funktion wird aufgerufen, wenn ein Fenster verschoben wird

onReset              Funktion wird aufgerufen, wenn innerhalb eines Formulars der Reset-Button gedrückt wird

onResize            Funktion wird aufgerufen, wenn Größe eines Fensters geändert wird

onSelect             Funktion wird aufgerufen, wenn in einem Feld ein Text ausgewählt wird

onSubmit            Funktion wird aufgerufen, wenn ein Formular übermittel werden soll

onUnload            Funktion wird aufgerufen, wenn ein HTML-Dokument verlassen wird.

 

Sprachelemente und Befehle

Zeichensatz:
Buchstaben
A-Z a-z _
Ziffern
0-9
Leerzeichen
LZ und CR
Sonderzeichen
+ - * / = ^[ ] ( ) . : , ; ' # $
Zuweisungsoperator
=
Relationsoperatoren
!= == <> <=>=


Bei den Bezeichnern (z.B. Name für Variable) ist zu beachten

  • Es wird zwischen Groß- und Kleinschreibung unterschieden.
  • Es werden die nur die ersten 32 Zeichen unterschieden.
  • Schlüsselwörter sind unzulässig (z.B. if, for)
  • 1. Stelle keine Ziffer
  • Keine Sonderzeichen

z.B.:    var a, xy, a_b_c, Kreisradius  (ist zulassig)      -    var if,  1x, d/a   (ist unzulässig)

Wichtig:   Jede Zeile ist mit ";" abzuschliesen.

 

Häufig verwendete Befehle für JavaScript 1.3:

Befehl

Objekt

Beschreibung

alert (String) window Zeigt Dialogbox
back() window Zeigt die vorherige Seite an
blur()   window Fenster verliert Focus
captureEvents (type) window Fängt Events ab , "type" z.B.: Event.KEYDOWN
clearInterval(ID) window Löscht Intervallzeit, die über setInterval gesetzt wurde. ID ist Ergebnis von setInterval.
clearTimeout(ID) window Löscht Wartezeit, die über setTimeout gesetz wurde. ID ist Ergebnis von setTimeout.
close() window Schließt aktuelles Fenster (Vorsicht beim Gebrauch)
confirm(String) window Zeigt Dialogbox an
find (string,a,b) window Sucht nach einem String, a=TRUE wenn Groß u. Kleinschreibung unterschieden wird, b=TRUE wenn rückwärts gesucht wird. Ergebnis=TRUE wenn gefunden
focus() window Fenster erhält Focus
home() window Zeigt Startseite an
moveBy(PixelH,PixelV) window Bewegt das aktuelle Fenster, Beispiel: window.moveBy(20,20);
moveTo(x,y) window Bewegt das Fenster auf die Position x,y
open(URL,windowName,Attribute) window Öffnet ein neues Browser-Fenster. Beispiel Attribut: dependent (Fenster wird vom Browserfenster abhängig gemacht), status (Fenster enthält Statuszeile)
print() window Druckt Inhalt des Fensters
resizeTo(x,y) window Verändert Höhe und Breite des aktuellen Fensters
scroll(x,y) window Scrollt den Inhalt des aktuellen Fensters auf die Position x,y, Beispiel: window.scroll(200,300);
setIntervall(function,ms) window Setzt ein Zeitintervall in Millisekunden, bevor "function" kontinuierlich aufgerufen wird
setTimeout(function,ms) window Setzt ein Zeitintervall in Millisekunden, bevor "function" einmal aufgerufen wird
stop() window Stoppt das Laden einer Datei
reload() location Lädt Dokument nochmal
replace(URL) location Lädt Dokument mit URL
back() history Lädt das vorhergehende Dokument
forward() history Lädt das nachfolgende Dokument
availHeight       (ist Eigenschaft) screen Ermittel die zur Verfügung stehende Höhe des Bildschirms. z.B. screen.availHeight;
availWidth        (ist Eigenschaft) screen Ermittel die zur Verfügung stehende Breite des Bildschirms
colorDepth       (ist Eigenschaft) screen Ermittelt Farbtiefe in Bits pro Pixel
close() document schließt das aktuelle Dokument
open(typ) document öffnet neues leeres Dokument Beispiel"typ": text/html (Texte im HTML-Format) Beispiel: window.document.open("text/html");
write(text) document Schreibt Text in das aktuelle Dokument
reset() form Löscht Eingaben im Formular
submit() form Versendet Inhalt des Formulars
elements      (ist Eigenschaft) form Damit können die Elemente des Formulars angesprochen werden. Beispiel: windows.forms[2].elements[1];
getDate() Date Ermittel Tag des Monats Beispiel: var datum=new Date(2000,11,12,12,00,00,500); tag=datum.getDate();
getDay() Date Ermittel Wochentag das Monats
getFullYear() Date Ermittel Jahreszahl
getHours() Date Ermittel Stundenzahl
getSeconds() Date Ermittels Sekunden
getMinutes() Date Ermittelt Minuten
getTime() Date Ermittelt Anzahl der Millisekunden, die seit dem 1.1.1979 verflossen sind
complete    (ist Eigenschaft) image Ermittel, ob ein Bild komplett geladen wurde.
abs(Zahl) math Liefert  den Absolutwert der Zahl
cos(Zahl) math Liefert den Cosinus der Zahl
floor(Zahl) math Liefert die nächst niedrigere Ganzzahl
round(Zahl) math Liefert die nächst höhere Ganzzahl
PI             (ist Eigenschaft) math Ermittel den Wert der Zahl PI. Beispiel: var pi=Math.PI;
eval(String) - Führt JavaScript-Code aus der als String übergeben wird
break - Bricht eine Schleife ab
continue - Schleife wird im Schleifenkopf neu ausgeführt
do...while(bedingung) - do-while-Schleife
for(initialisierung; bedingung;zählung) - for-Schleife wird solange ausgeführt bis Laufbedingung erfüllt ist
if(bedingung) else - if-else-Abfrage. Beispiel: if(a==1){a=0;}else{a=1;}
return Variable - Gibt Funktionswert zurück
switch(ausdruck){case Fall1: //Code;break; case Fall2: //Code;break;... default: //Code} - switch-case Abfrage
var name - Definition einer Variablen
while(bedingung) - while-Schleife
= - Wertzuweisungsoperator
&& - Logisches UND
|| - Logisches Oder
! - Logisches NICHT
& - Bitweises UND
| - Bitweises ODER
^ - Bitweises XOR
~ - Bitweises NICHT
<< - Linksshift
>> - Rechtsshift
== - Vergleichsoperator: Gleichheitsoperator
!= - Vergleichsoperator: Ungleichsoperator
=== - strict equal (Wert und Typ gleich)
!== - strict not equal
> - größer als
< - kleiner als
>= - größer gleich
<= - kleiner gleich
?: - Abkürzung für if. Beispiel: a=5; if a==1  ist identisch mit: (a?1:5)
new - Erzeugt ein neues Objekt
this - spricht aktuelles Objekt an. Beispiel: this.width=2;
typeof - Liefert Objekttyp zurück
void - Dadurch kann eine Funktion ohne Rückgabewert aufgerufen werden

                   

Arithmetische Operatoren + Rangstufen

Siehe auch oben

Zeichen           
Operation       
Eingabetyp     
Ergebnistyp     
+
Addition
integer, real
integer, real
-
Subtraktion
integer, real
integer, real
*
Multiplikation
integer, real
integer, real
/
Division
integer, real
real
sqrt1_2(var)
Quadrat
integer, real
integer, real
sqrt2(var)
Quadratwurzel
integer, real
real
%
Integer-Division
integer
integer
ceit
rundet auf ganze Zahl auf
real
integer
floor
rundet auf ganze Zahl ab
real
integer
round
kaufmännisches Runden
real
integer

Unter den Operatoren und Programmierzeichen von JavaScript gibt es eine Rangordnung, die besonders bei komplexen Ausdrücken eine Fehlerquelle sein kann, wenn man sie nicht berücksichtigt .

  1. . Rangstufe: ,
  2. . Rangstufe: = += -= *= /= %= <<= >>= >>>= &= ^= |=
  3. . Rangstufe: ?:
  4. . Rangstufe: ||
  5. . Rangstufe: &&
  6. . Rangstufe: |
  7. . Rangstufe: ^
  8. . Rangstufe: &
  9. . Rangstufe: == !=
  10. . Rangstufe: < <= > >=
  11. . Rangstufe: << >> >>>
  12. . Rangstufe: + -
  13. . Rangstufe: * / %
  14. . Rangstufe: ! ~ - ++ --
  15. . Rangstufe: () [] .

Datentypen

Zahlen, Strings, Boolesche Werte, Null-Werte


Zahlen:
Dezimalzahlen (Basis 10): Integer- und Real-Zahlen ohne führende Null (z.B. 882)
Oktalzahlen (Basis 8): Integer-Zahl mit einer führenden Null (z.B. 076)
Hexadezimalzahlen (Basis 16): Kombination aus Buchstabe und Integer-Zahl, der ein ox oder oX vorangestellt ist (z.B. ox3F oder 0X3F)
Man muss bei der Eingabe und Verarbeitung die englische Schreibweise der real-(gebrochenen)-Zahlen berücksichtigen. Z.B. wird der Punkt statt dem Komma benutzt (92.5; -247.; .3; -0.4e-3; 1.7E12).

Strings:
Eine Kette von Zeichen, die durch Anführungszeichen begrenzt wird

Boolesche Variable:
Ist eine 'logische' Variable, die den Wert "true" oder "false" annehmen kann

Null:
Drückt eine leere Menge aus und ist weder ein leerer String ("") oder eine Zahl mit dem Wert 0, da beides schon definiert ist. Bei Null gibt es überhaupt keinen Wert, und die entsprechende Variable ist nicht definiert. JavaScript gibt beispielweise Null zurück, wenn die Schaltfläche "Cancel" ausgewählt wurde.

Programmaufbau

Die Einbindung wurde oben besprochen.

Variablen können deklariert und zugleich initialisiert werden:

Beispiel:

var  var_xy=2;

 

Funktionen können direkt deklariert werden.

Die Syntax zur Deklaration lautet:


function FUNKTION_NAME(PARAMETER_1,...,PARAMETER_N)
   {
     ANWEISUNG_1;
     ...;
     ANWEISUNG_N;
   return Wert //falls nötig  }

 

Es gibt zahlose Beispiele im Internet. Hier ein Formular für Feedback:

<html>

<head><title>Beispiel</title></head>

<script LANGUAGE="JavaScript">

function check()

{

var laenge, Eingabe, a;

Eingabe=window.document.forms[0].elements[0].value;

laenge=Eingabe.length;

if(laenge>40){alert ("Zu langer Name!");return false;}

if (Eingabe==""){alert ("Bitte einen Namen angeben!");return false;}

Eingabe=window.document.forms[0].elements[2].value;

laenge=Eingabe.length;

if(laenge>300){alert ("Zu langer Text!");return false;}

if (Eingabe==""){alert ("Kein Eintrag vorhanden!");return false;}}

</script>

 <body bgcolor="white">

<p align="center"><big><font color="#0000A0">Hier hast Du die Möglichkeit, eine Frage zu

stellen.</font></big></p>

<form ACTION="mailto:deinname@provider.de?Subject=Feedback" METHOD="POST"

ENCTYPE="text/plain" NAME="Feedback">

<table BORDER="0">

<tr><td>Name</td>

<td ALIGN="LEFT"><input TYPE="TEXT" NAME="Vorname" size="20">Vorname reicht</td>

</tr><tr>

<td>E-Mail</td>

<td><input TYPE="TEXT" NAME="Mail" size="20"> falls Antwort an abweichende E-Mail Adresse</td>

</tr><tr>

<td>Meine&nbsp; Frage</td>

<td><textarea rows="2" name="Meinung" cols="50"></textarea></td>

</tr><tr>

<td>Antwort erwünscht&nbsp;&nbsp;&nbsp; </td>

<td><input TYPE="CHECKBOX" NAME="antnein" value="ON">nein <input TYPE="CHECKBOX"

NAME="antfaqs" value="ON">über Eintrag in FAQs <input TYPE="CHECKBOX" NAME="antmail"

value="ON">über E-Mail</td>

</tr><tr>

<td>Mein Alter</td>

<td><input TYPE="CHECKBOX" NAME="alter12" value="ON">unter 12 <input TYPE="CHECKBOX"

NAME="alterunter18" value="ON">unter 18 <input TYPE="CHECKBOX" NAME="alterüber18"

value="ON">über 18</td>

</tr>

</table>

<p><input TYPE="SUBMIT" VALUE="Abschicken" onclick="return check()"> Info: Beim Abschicken

wird die E-Mail Adresse des Versenders übermittelt</p>

<p><input TYPE="RESET" VALUE="Löschen"> Löscht alle Eintragungen</p>

</form>

</body>

</html>


 
HTML Uhr
Heutiges Datum
Zurück zum Seiteninhalt | Zurück zum Hauptmenü