![]() | ![]() ![]() ![]() ![]() ![]() |
Beschreibung
Auf dieser Seite gibt es kein praktisches Beispiel, nur Theorie !
Number-Objekt
Das Number-Objekt besitzt folgende Eigenschaften
MAX_VALUE![]() | die kleinste darstellbare Zahl |
MIN_VALUE![]() | die größte darstellbare Zahl |
NaN![]() | spezieller Wert "not a number", z.B. als Ergebnis eines mißglückten parseInt() |
NEGATIVE_INFINITY![]() | spezieller negativer unendlicher Wert, bei Overflow |
POSITIVE_INFINITY![]() | spezieller unendlicher Wert, bei Overflow |
Im folgenden Beispiel wird dem Standard-Objekt Date die neue
Eigenschaft descr (beschreibender Text) und die neue Methode
print (Formatierung im deutschen Format) zugewiesen.
Boolean-Objekt
Das Boolean-Objekt dient zur Erzeugung von boolschen Variablen,
d.h. Variablen mit dem Wert true (wahr) oder false (falsch), z.B.
myBool = new Boolean([wert]);
Der optionale Parameter wert gibt dabei den (Anfangs-) Wert der erzeugten
Variablen an:
Wenn er weggelassen wird oder 0, null, false oder "" (leerer String) ist,
dann ist der Anfangswert false;
in allen anderen Fällen ist er true, auch wenn z.B.
der string "false" angegeben wird.
JavaScript Version
Im <script>-tag kann jetzt die erforderliche JavaScript-Version
angegeben werden, dazu wird das language-Attribut benutzt,
z.B. <script language="JavaScript1.1">
Browser die nicht die entsprechende Version beherrschen, ignorieren das
Script.
JavaScript aus einer externen Datei
JavaScripts können jetzt auch in einer Datei außerhalb des
HTML-Dokuments abgelegt werden. Hierzu dient das src-Attribut im
<script>-Tag,
z.B. <script src="myScript.js">
alert('Script "myScript.js" nicht gefunden');
</script>
Dies ist besonders dann praktisch, wenn bestimmte Scripts von unterschiedlichen
HTML-Seiten immer wieder verwendet werden; oder aber auch um die Pflege des
Scripts von der Pflege des HTML-Dokuments zu trennen.
Wenn das src-Attribut angegeben wird, versucht JavaScript zunächst
die entsprechende Script-Datei zu lesen. Nur wenn dies mißlingt, werden
die im Script-body angegebenen Anweisungen ausgeführt (im Beispiel
alert).
Das abschließende </script>-Tag ist zwingend erforderlich,
auch wenn im Rumpf des Scripts innerhalb des HTML-Dokuments nichts steht.
Für das src-Attribut gelten die üblichen Konventionen
zur Angabe einer URL, wie sie z.B. auch bei Links verwendet werden.
Beim Zugriff auf JavaScript-Dateien über das http-Protokoll (also über
einen Web-Server), ist es erforderlich, daß der Server folgenden
MIME type definiert
hat:
type=application/x-javascript exts=js
Gegebenenfalls müssen Sie den Webmaster Ihres Server bitten, einen
entsprechenden Eintrag in der Konfigurationsdatei vorzunehmen.
<noscript>-tag
Innerhalb eines <noscript>-Blocks kann ein alternativer Text
für Browser angegeben werden, die kein JavaScript beherrschen, oder
bei denen es vom Anwender abgeschaltet wurde,
z.B. <noscript>
Übrigens: zum Betrachten der folgenden Seiten sollten Sie ihrem Browser
die Ausführung von Javascript erlauben.<br>
Netscape: Optionen/Netzwerkeinstellungen/Sprachen/JavaScript aktivieren<br>
MSIE: Ansicht/Optionen/Sicherheit/ActiveX-Skripts erlauben
</noscript>
Browser, die JavaScript beherrschen, und denen die Ausführung gestattet
ist, sollten den Text innerhalb des des <noscript> Blocks ignorieren.
Netscape 2.0 kennt das <noscript>-Tag noch nicht; d.h.
ein vorhandener alternativer Text wird auch ausgegeben,
wenn JavaScript eingeschaltet ist.
direkte Benutzung von JavaScript-Ausdrücken in HTML-Attributen
Innerhalb von HTML-Tags, die für bestimmte Attribute Werte erwarten,
können anstelle fester Werte auch JavaScript-Ausdrücke vorgegeben
werden.
Der entsprechende Ausdruck wird dabei zwischen den Zeichen &{
und }; eingeklammert.
Im folgenden Beispiel werden Hintergrund- und Textfarbe eines Dokuments
in Abhängigkeit von der Tageszeit gesetzt :
<head>
<script language="JavaScript">
<!--
date=new Date();
hh=date.getHours();
if(hh < 8 || hh > 20) {
bgcol="black";
fgcol="white";
} else {
bgcol="white";
fgcol="black";
}
//-->
</script>
<body text=&{fgcol}; bgcolor=&{bgcol};>
<center><h1>Hello world</h1></center>
</body>
Diese Vorgehensweise ist grundsätzlich problematisch für Browser,
die kein JavaScript beherrschen oder bei denen JavaScript abgeschaltet wurde.
prototype
Mittels prototype können allen Objekten eines bestimmten
Types Eigenschaften oder Methoden zugewiesen werden.
prototype ist definiert für alle Objekte, die mit new
erzeugt werden können, also die Standard-Objekte
Array,
Boolean,
Date,
Function,
Image,
Number,
Select object option und
String
sowie für (durch eine "construction function") benutzerdefinierte Objekte.
<script language="JavaScript1.1">
<!--
Date.prototype.descr=null;
Date.prototype.print=dat_print;
var dat1=new Date();
dat1.descr="das Datum von heute";
var dat2=new Date();
dat2.setDate(dat2.getDate()+1);
dat2.descr="das Datum von morgen";
document.write(dat1.descr+" ist "+dat1.print()+"<br>");
document.write(dat2.descr+" ist "+dat2.print()+"<br>");
function dat_print() {
var dd=this.getDate();
if(dd < 10)dd="0"+dd;
var mm=this.getMonth()+1;
if(mm < 10)mm="0"+mm;
var yy=this.getYear();
return dd+"."+mm+"."+yy
}
//-->
</script>
Das Script erzeugt folgende Ausgabe:
Mit prototype können auch vorhandene Methoden eines Standard-Objektes
überschrieben werden.
So könnte im oberen Beispiel die Methode toString des Date-Objektes
durch die selbst definierte function dat_print ersetzt
werden : Date.prototype.toString=dat_print;
Damit würde z.B. document.write("heute ist der "+dat1);
eine Datumsausgabe im selbstdefinierten Format bewirken.
Auf der nächsten Seite geht es weiter mit JavaScript Version 1.2 |
![]() ![]() |