of {$slidecount} ½ {$title}, {$author}

INP (4)

Prof. Dr.-Ing. S. Gössner

University of Applied Sciences Lippe & Höxter

Inhalt

Datentyp String

Ein String ist allgemein eine Zeichenfolge. In Javascript ist ein String eine Folge von "16 bit Unicode Zeichen".

LiteraleSyntaxBeispiele
String /(".*")|('.*')/ "abc", 'de f', "x\"", ''

Sonderzeichen

SonderzeichenBedeutung
\nLine feed (newline)
\tHorizontal tab (Ctrl-I)
\'Single quotation mark
\"Double quotation mark
\\Backslash

Beispiele

// ok
"Ausgabe über\nzwei Zeilen"
'\tAusrichtung\tmit\tTabulator'
"Klaus' Spruch: \"Hallo!\""
'c:\\ord\\ner'
// nicht ok
"text'
"zwei
 Zeilen"
'c:\programme'

String operator +

Der binäre Operator + verbindet zwei Strings zu Einem.

var s = "wie " + 'geht\'s';  // wie geht's

Wenn wenigstens einer der beiden Operanden ein String ist, dann ist auch das Ergebnis ein String.

+Number/BooleanString
Number/Boolean Number String
String String String

Beispiele:

var zweizeiler = "zeile eins"+
                 "zeile zwei";
"level" + 4 + 2  // level42
3+1+"2"          // 42

String/Number Konvertierung

Javascript stellt drei Funktionen zur Konvertierung zwischen den Datentypen Number und String zur Verfügung.

FunktionBedeutung
num.toString(basis) Konvertierung einer Zahl num zur Basis basis und Rückgabe als String.
parseInt(str, basis) Konvertierung einer Zahl in str angegeben bzgl. der Basis basis in eine Dezimalzahl.
parseFloat(str) Konvertierung einer Zahl in str in eine dezimale Gleitkommazahl.

Beispiele:

var hex = 0x2A;
var bin = hex.toString(2); // "101010"
parseInt(bin, 2)           // 42
parseInt(hex)              // 42
(42).toString(16)          // "2a"
parseInt("123Express")     // 123
parseInt("3.14")           // 3
parseFloat("0.314e1")      // 3.14

String als Objekt

Eigenschaft/MethodeBedeutung
str.length Liefert die Anzahl der Zeichen des Strings str.
str.charAt(idx) Liefert das Zeichen innerhalb des Strings str an der Stelle idx. (Beachte: Das erste Zeichen eine Strings hat den Index '0').
str.charCodeAt(idx) Liefert den Unicode-Wert des Zeichens innerhalb des Strings str an der Stelle idx.
str.indexOf(substr[,idx]) Sucht innerhalb eines Strings str den String substr beginnend an der Stelle idx. Bei fehlendem idx wird von Beginn an gesucht.
str.split(separator) Trennt einen String str an jeder Stelle an der ein Zeichen aus sep vorkommt auf und liefert die entstehenden Strings als Array zurück.
str.substr(idx[,length]) Liefert einen Teilstring von str beginnend an der Stelle idx mit der Länge length. Fehlt length, dann besitzt der Teilstring alle weiteren Zeichen bis zum Ende von str.
str.toLowerCase() Liefert eine Kopie von str zurück, in der alle Buchstaben in Kleinbuchstaben gewandelt sind.
str.toUpperCase() Liefert eine Kopie von str zurück, in der alle Buchstaben in Grossbuchstaben gewandelt sind.

Datentyp Boolean

Der Datentyp _Boolean repräsentiert einen Wahrheitswert.

LiteraleSyntaxBeispiele
Boolean /(true|false)/ -

Beispiel

var go = true;

while (go) {
  go = false;
}

Konvertierung

Für die Konvertierung anderer Datentypen in einen Bool'schen Wert gilt die Regel:

Die Werte 0, "", NaN, null, undefined liefern false, alle anderen Werte true.

Beispiele:

true + true      // 2
"alles " + true  // alles true

Vergleichs- und logische Operatoren

OperatorBedeutungBeispiele
==Gleichheit der Werte ggfs. nach Typanpassung "42" == 42 // true
!=Ungleichheit der Werte auch nach Typanpassung "42" != 42 // false
===Gleichheit der Werte und Datentypen "42" === 42 // false
!==Ungleichheit der Werte oder Datentypen "42" !== 42 // true
>Grösser als 42 > 43 // false
<Kleiner als 42 < 43 // true
>=Grösser oder gleich 42 >= 43 // false
<=Kleiner oder gleich 42 <= 43 // true
&&logisches Und 2 < 3 && 3 >= 4 // false
||logisches Oder 2 < 3 || 3 >= 4 // true
!Negation 2 < 3 && !(3 >= 4) // true

Operatoren Übersicht

Operatoren führen eine Operation mit einem oder mehreren Operanden durch.

Operator typeOperators
member . []
call / create instance () new
negation/increment ! ~ - + ++ - - typeof void delete
multiply/divide * / %
addition/subtraction + -
bitwise shift << >> >>>
relational < <= > >= in instanceof
equality == != === !==
bitwise-and &
bitwise-xor ^
bitwise-or |
logical-and &&
logical-or ||
conditional ?:
assignment = += -= *= /= %= <<= >>= >>>= &= ^= |=
comma ,

Die Operatoren in der Tabelle besitzen abnehmende Priorität, d.h. Operatoren in der ersten Zeile haben die höchste und in der letzten Zeile die niedrigste Priorität. Operatoren in derselben Zeile besitzen die gleiche Priorität.

[Quelle: MozillaDeveloper Center]

Ausdrücke

Ein Ausdruck (expression)

Anweisungen

Eine Anweisung (statement)

var s = "hallo", vocals=0;

for (var i=0; i<s.length; i++) {
   switch (s.charAt(i)) {
      case "a": case"A":
      case "e": case"E":
      case "i": case"I":
      case "o": case"O":
      case "u": case"U": vocals++; break;
      default: break;
   }
}

window.alert(vocals + " Vokale gefunden!");

Kommentare

Ein Kommentar (comment)

// Dies ist ein *einzeiliger* Kommentar
var x = 42;
/* Und nun
   ein mehr-
   zeiliger
   Kommentar */

Bedingungsanweisungen

Eine Bedingungsanweisung (conditional expression)

if … else

  if (bedingung) {
     anweisung*
  }
  else {
     anweisung*
  }

switch

  switch(ausdruck) {
     case literal1:
        anweisung*
        break;
     ...
     case literalN:
        anweisung*
        break;
     default:
        anweisung*
        break;
  }

Wiederholungsanweisungen

Eine Wiederholungsanweisung (loop)

do … while

  do {
     anweisung*
  }
  while (bedingung);

for

  for (initialisierung; bedingung; inkrementierung) {
     anweisung*
  }

for … in

  for (eigenschaft in object) {
     anweisung*
  }

while

  while (bedingung) {
     anweisung*
  }