JavaScript - Eine Einführung (Stefan Bosse) [6.2020]

JavaScript

Some Facts

Variablen und Ausdrücke

JavaScript

 ▸ 
 ✗ 

Kontext

Achtung: Wird eine Variable ohne Definition mittels der var Anweisung benutzt (auf der linken Seite einer Zuweisung), wird immer einer globale Variable erzeugt!

Beispiele


 ▸ 
 ✗ 

Funktionen

Syntax

function name (par1?, par2?, ..) {
  return expr
}

Beispiel

Folgende Funktion berechnet die mathematische Fakultät über das Konzept der Rekursion:

\[ f(n) = \left\{ {\begin{array}{*{20}{l}} {1,n = 1} \\ {n*f(n - 1),n > 1} \end{array}} \right. \]
JavaScript

 ▸ 
 ✗ 

Aufgabe. Funktionen
\[ f(n) = \left\{ {\begin{array}{*{20}{l}} {n,n \leqslant 1} \\ {f(n - 1) + f(n - 2),n > 1} \end{array}} \right. \]
Fibinacci Funktion

 ▸ 
 ✗ 


Kontrollanweisungen

Bedingte Verzweigun

if (expression) { is true }
if (expression) { is true } else { is false }

Mehrfachauswahl

switch (expression) {
  case v1: .. break;
  case v2: .. break;
  ..
  default: ..
}

Zählschleifen

for (init;test;change) {
  ..
}
for (i=a;i<b;i++) {
  ..
}
Aufgabe.
Fibinacci Funktion

 ▸ 
 ✗ 


Arrays

Beispiele für Array Methoden

 ▸ 
 ✗ 

Beispiel: Dynamische Arrays

 ▸ 
 ✗ 

Aufgabe. Dynamische Erzeugung von Arrays
Dynamische Arrays

 ▸ 
 ✗ 


Objekte

Beispiel

Objekte

 ▸ 
 ✗ 

Definition 1. Konstruktorfunktion
-- Definition der Konstruktorfunktion --
function C(par1,..) {
  this.x1=expression;
  ..
}
-- Definition der Prototypen --
C.prototype.methode1 = function (par1,..) {
  this.x1=..
}
C.prototype.methode2 = function (par1,..) {
  this.x1=..
}
..
-- Instanziierung eines Objekts von der Konstruktirfunktion --
var obj = new C(..);
obj.methode1(..)
obj.methode2(..)
..

Beispiel für Objekte

Objekte (2)

 ▸ 
 ✗ 

Kombination von Arrays und Records

Arrays und Records und umgekehrt

 ▸ 
 ✗ 

Mathematische Funktionen

Standard Math

Definition 2. Standard Math (Auswahl)
Math.sin(rad)
Math.cos(rad)
Math.tan(rad)
Math.pow(x,e)
Math.log(x)
Math.sqrt(x)
Math.abs(x)

Erweiterungen durch math.plugin

Definition 3. Extended Math (Auswahl)
// Module
Math.Vector.
Math.Matrix.
Math.random.
Math.signal.
// Funktionen
Math.equal(a,b)
Math.distance(p1,p2)
// Array Erweiterungen
array.add(b) // [a0+b0,a1+b1,..]
array.contains(x)
..

Created by the NoteBook Compiler Ver. 1.3.2 (c) Dr. Stefan Bosse