Archiv des LibreOffice- und OpenOffice.org-Wiki

[ÜberSicht] [TitelIndex] [WortIndex] [SeiteFinden

(./) SO8 OOo2

JavaScript ist eine objektorientierte Skriptsprache, die ursprünglich dazu entwickelt wurde, um innerhalb eines Web-Browsers sog. aktive Inhalte zu ermöglichen. Dazu wird der Programmcode (das Skript) in eine HTML-Datei eingebettet oder über diese nachgeladen und dann durch den Client (also den Browser) ausgeführt.

In OpenOffice.org/ StarOffice ist JavaScript neben StarBasic, BeanShells und Python eine weitere Möglichkeit, um die Funktionen des Programms durch Makros zu erweitern oder zu automatisieren. Dabei steht jedoch nicht der gesamte Befehlsumfang von JavaScript wie in modernen Web-Browsern zur Verfügung: Einige vordefinierte Objekte aus dem Document Object Model (DOM) wie z.B. das window- oder document-Objekt sind für Makros nicht vordefiniert. Damit ist es mit JavaScript praktisch unmöglich sinnvolle Makros ohne importierte Objektklassen der StarOffice- / OpenOffice.org-API zu schreiben.

Diese Seite bietet eine kurze Übersicht der Sprachelemente von JavaScript-Makros.

1. Kommentare

/* mehrzeiliger Kommentar */
// einzeiliger Kommentar

2. Reservierte Wörter

Die folgenden Wörter dürfen nicht für selbstdefinierte Variablen, Funktionen und Objekten verwendet werden.

abstract, boolean, break, byte, case, catch, char, class, const, continue, default, do, double, else, extends, falls, final, finally, float, for, function, goto, if, implements, import, in, instanceof, int, interface, long, native, new, null, package, private, protected, public, return, short, static, super, switch, synchronized, this, throw, throws, transient, true, try, var, void, while, with.

3. Steuerzeichen für Zeichenketten

\b    Escape-Sequenz für Backspace (bs)
\t    Escape-Sequenz für Tabulator, horizontaler (tab)
\n    Escape-Sequenz für Zeilenvorschub (newline, line feed)
\f    Escape-Sequenz für Seitenvorschub (form feed)
\r    Escape-Sequenz für Wagenrücklauf (carriage return)
\"    Escape-Sequenz für Anführungszeichen (double quote)

4. Variablen

In JavaScript wird nur zwischen Zahlen und Zeichenketten unterschieden. Selbst bei den Zahlen wird nicht zwischen Ganzzahlen und Gleitkommazahlen unterschieden. Die Typzuordnung erfolgt bei der Wertzuweisung.

var i = 42;
var j,k;

Das Schlüsselwort var kann auch weggelassen werden.

5. Operatoren

5.1. Mathematische Operatoren

.     Komponentenzugriff auf Datenstrukturen
+     Pos. Vorzeichen, Addition, Stringverkettung
-     Neg. Vorzeichen, Subtraktion
*     Multiplikation
/     Division
%     Divisionsrest oder Modulo-Operator
++    Inkrementierungsoperator
--    Dekrementierungsoperator
~     Binäres Nicht
&     Binäres UND
|     Binäres ODER
^     Binäres Exklusiv ODER
<<    Binäres Linksschieben
>>    Binäres Rechtsschieben
>>>   Binäres Rechtsschieben mit Auffüllen von Nullen
!     Bedingtes NICHT
&&    Bedingtes UND
||    Bedingtes ODER
?:    Bedingter Ausdruck (Entweder oder)

5.2. (Zusammengesetzte) Zuweisungen

=     Wertzuweisung
+=    mit Addition
-=    mit Subtraktion
*=    mit Multiplikation
/=    mit Division
%=    mit Divisionsrestbildung
&=    mit binärem UND
|=    mit binärem ODER
^=    mit binärem Exklusiv ODER
<<=   mit binärem Linksschieben
>>=   mit binärem Rechtsschieben
>>>=  mit binärem Rechtsschieben und Auffüllen von Nullen

5.3. Vergleichsoperatoren

==      gleich
!=      ungleich
>       größer als
>=      größer oder gleich
<       kleiner als
<=      kleiner oder gleich
===     Gleichheit inklusive Variablentyp
!==     Ungleichheit inklusive Variablentyp
typeof  Typüberprüfung. Rückgabewert ist ein String ("boolean", "string", "number", "function",
        "object" oder "undefined")

5.4. Sonstige Operatoren

void    unterdrückt Rückgabewert
delete  löscht selbstdefinierte Objekte

6. Funktionen

6.1. Deklaration

function Name(Parameterliste) {
  Anweisungen;
  return ergebnis;
}

6.2. Aufruf der Funktion

b = Name(Parameterliste);

7. Objekte

7.1. Deklaration

function Objekt(Wert1,Wert2) {
  var Eigenschaft1 = Wert1;       // private Eigenschaft
  this.Eigenschaft2 = Wert2;      // öffentliche Eigenschaft
  var Methode1 = function () {    // private Methode
    Anweisungen;
  }
  this.Methode2 = function () {   // öffentliche Methode
    Anweisungen;
    return Ergebnis;
  }
}

7.2. Objekt erzeugen, Zugriff auf Eigenschaften und Methoden

var obj = new Objekt(W1,W2);
var e = obj.Eigenschaft2 + obj.Methode2();

7.3. Mehrfachzugriff auf Objekte

with(Objektname) {
  Anweisungen;
}

7.4. Standardobjekte

7.4.1. Array

var a = new Array();

Eigenschaften:

length     // Anzahl Elemente

Methoden:

concat()   // Arrays verketten
join()     // Array in Zeichenkette umwandeln
pop()      // letztes Array-Element löschen
push()     // neue Array-Elemente anhängen
reverse()  // Elementreihenfolge umkehren
shift()    // Erstes Array-Element entfernen
slice()    // Teil-Array extrahieren
splice()   // Elemente löschen und hinzufügen
sort()     // Array sortieren
unshift()  // Elemente am Array-Anfang einfügen

7.4.2. Boolean

wahr   = new Boolean(true);
wahr   = new Boolean("beliebige Zeichenkette");
falsch = new Boolean(false);
falsch = new Boolean();
falsch = new Boolean("");
falsch = new Boolean(0);
falsch = new Boolean(null);

7.4.3. Date

Methoden:

getDate()             // Monatstag ermitteln
getDay()              // Wochentag ermitteln
getFullYear()         // volles Jahr ermitteln
getHours()            // Stundenteil der Uhrzeit ermitteln
getMilliseconds()     // Millisekunden ermitteln
getMinutes()          // Minutenteil der Uhrzeit ermitteln
getMonth()            // Monat ermitteln
getSeconds()          // Sekundenteil der Uhrzeit ermitteln
getTime()             // Zeitpunkt ermitteln
getTimezoneOffset()   // Zeitzonenabweichung der Lokalzeit ermitteln
getUTCDate()          // Monatstag von UTC-Zeit ermitteln
getUTCFullYear()      // volles Jahr von UTC-Zeit ermitteln
getUTCHours()         // Stundenteil der UTC-Uhrzeit ermitteln
getUTCMilliseconds()  // Millisekundenteil der UTC-Uhrzeit ermitteln
getUTCMinutes()       // Minutenteil der UTC-Uhrzeit ermitteln
getUTCMonth()         // Monat von UTC-Uhrzeit ermitteln
getUTCSeconds()       // Sekundenteil der UTC-Uhrzeit ermitteln
getYear()             // Jahr ermitteln
parse()               // Millisekunden seit dem 01.01.1970 ermitteln
setDate()             // Monatstag setzen
setFullYear()         // volles Jahr setzen
setHours()            // Stunden der Uhrzeit setzen
setMilliseconds()     // Millisekunden setzen
setMinutes()          // Minuten der Uhrzeit setzen
setMonth()            // Monat setzen
setSeconds()          // Sekunden der Uhrzeit setzen
setTime()             // Datum und Uhrzeit setzen
setUTCDate()          // Monatstag für UTC-Zeit setzen
setUTCFullYear()      // volles Jahr für UTC-Zeit setzen
setUTCHours()         // Stunden der UTC-Zeit setzen
setUTCMilliseconds()  // Millisekunden der UTC-Zeit setzen
setUTCMinutes()       // Minuten der UTC-Zeit setzen
setUTCMonth()         // Monat für UTC-Zeit setzen
setUTCSeconds()       // Sekunden der UTC-Zeit setzen
setYear()             // Datum und Uhrzeit setzen
toGMTString()         // Zeitpunkt in UTC-Format konvertieren
toLocaleString()      // Zeitpunkt in lokales Format konvertieren
UTC()                 // UTC-Zeit seit dem 01.01.1970 ermitteln

7.4.4. Math

Eigenschaften:

E                     // Eulersche Konstante
LN2                   // natürlicher Logarithmus von 2
LN10                  // natürlicher Logarithmus von 10
LOG2E                 // konstanter Logarithmus von 2
LOG10E                // konstanter Logarithmus von 10
PI                    // Konstante PI
SQRT1_2               // Konstante für Quadratwurzel aus 0,5
SQRT2                 // Konstante für Quadratwurzel aus 2

Methoden:

abs()                 // positiver Wert
acos()                // Arcuscosinus
asin()                // Arcussinus
atan()                // Arcustangens
ceil()                // nächsthöhere ganze Zahl
cos()                 // Cosinus
exp()                 // Exponentialwert
floor()               // nächstniedrigere ganze Zahl
log()                 // Anwendung des natürlichen Logarithmus
max()                 // größere von zwei Zahlen
min()                 // kleinere von zwei Zahlen
pow()                 // Zahl hoch Exponent
random()              // 0 bis 1 per Zufall
round()               // kaufmännische Rundung einer Zahl
sin()                 // Sinus
sqrt()                // Quadratwurzel
tan()                 // Tangens

7.4.5. Number

Eigenschaften:

MAX_VALUE             // größte speicherbare Zahl
MIN_VALUE             // kleinste speicherbare Zahl
NaN                   // keine gültige Zahl
NEGATIVE_INFINITY     // Zahl zu klein
POSITIVE_INFINITY     // Zahl zu groß

Methoden:

toExponential()
toFixed()
toPrecision()
toString()

7.4.6. String

Eigenschaften:

length (Anzahl Zeichen)

Methoden:

anchor()              // Verweisanker erzeugen
big()                 // großen Text erzeugen
blink()               // blinkenden Text erzeugen
bold()                // fetten Text erzeugen
charAt()              // Zeichen an einer Position ermitteln
charCodeAt()          // Unicode-Zeichennummer an einer Position
concat()              // Zeichenketten zusammenfügen
fixed()               // Teletyper-Text erzeugen
fontcolor()           // Schriftfarbe erzeugen
fontsize()            // Schriftgröße erzeugen
fromCharCode()        // Unicode-Zeichen erzeugen
indexOf()             // Position eines Zeichens ermitteln
italics()             // kursiven Text erzeugen
lastIndexOf()         // letzte Position eines Zeichens ermitteln
link()                // Verweis erzeugen
match()               // Regulären Ausdruck anwenden
replace()             // Regulären Ausdruck anwenden und ersetzen
search()              // Suchen mit Regulärem Ausdruck
slice()               // Teil aus Zeichenkette extrahieren
small()               // kleinen Text erzeugen
split()               // Zeichenkette aufsplitten
strike()              // durchgestrichenen Text erzeugen
sub()                 // tiefgestellten Text erzeugen
substr()              // Teilzeichenkette ab Position ermitteln
substring()           // Teilzeichenkette ermitteln
sup()                 // hochgestellten Text erzeugen
toLowerCase()         // alles klein schreiben
toUpperCase()         // alles groß schreiben

7.4.7. Objektunabhängige Funktionen

decodeURI()           // kodierten URI dekodieren
decodeURIComponent()  // kodierten URI dekodieren - II
encodeURI()           // URI kodieren
encodeURIComponent()  // URI kodieren - II
eval()                // Ausdruck interpretieren
escape()              // ASCII-Zeichen in Zahlen umwandeln
isFinite()            // auf numerischen Wertebereich prüfen
isNaN()               // auf numerischen Wert prüfen
parseFloat()          // in Kommazahl umwandeln
parseInt()            // in Ganzzahl umwandeln
Number()              // auf numerischen Wert prüfen
String()              // in Zeichenkette umwandeln
unescape()            // Zahlen in ASCII-Zeichen umwandeln

8. Programmablaufsteuerung

8.1. Verzweigung

if(Bedingung) {
  Anweisungen;
} else {
  Anweisungen;
}

8.2. Mehrfachauswahl

switch(Ausdruck) {
  case Konstante1: {Anweisungen; break;}
  case Konstante2: {Anweisungen; break;}
  case Konstante3: {Anweisungen; break;}
  default:         {Anweisungen;}
}

8.3. Kopfgesteuerte Schleife

while(Wiederholbedingung) {
  Anweisungen;
}

8.4. Zählschleife

for(Initialisierung; Wiederholbedingung; Modifizierung) {
  Anweisungen;
}

8.5. Fußgesteuerte Schleife

do {
  Anweisungen;
} while(Wiederholbedingung);

9. Externe Klassen importieren

importClass(Importname);

10. Siehe auch


KategorieMakro KategorieAllgemeines


LizenzBedingungen | AnbieterKennzeichnung | DatenschutzErklärung | Stand: 2013-04-28