ECMAScript ( Schnelleinstieg ) gehört zu Web Technologien

Web Technologien, wie HTML, CSS, ECMAScript haben typische Verwendungsmöglichkeiten, wie z.B.

   HTML  Inhalt (content),                      meint "Was es ist"
   CSS    Design, Darstellung ( appearance ),    meint "Wie es ausschaut" 
   ECMAScript Verhalten (client-side behaviour), meint die "Seiten-Dynamik" 

Hier ein Link zur ECMAScript-262 Norm (pdf 2.5MB).

ECMAScript (Historie) Wie entstand ECMAScript aus JavaScript?

Wie entstand ECMAScript aus JavaScript? Brendan Eich gilt als JavaScript-Entwickler. JavaScript entnimmt wesentliche Ideen aus den Sprachen Java, Scheme, Self.

JavaScript (vorher LiveScript) ist ein Markenname von Sun Microsystems, heute Oracle.

ECMAScript ging aus proprietären JavaScript-Spezifikationen hervor. Proprietär kommt vom lateinischen proprietas und meint etwa Eigentümlichkeit, Eigentum, Closed Source, umfassenden Vorbehalt des Urhebers. JavaScript wurde ab 1998 zu einem internationalen Standard ECMA-262. Dadurch wurden die proprietären Spezifikationen, wie z.B. JavaScript (Netscape) und JScript (Microsoft), usw. vereinheitlicht und genormt.

Variablen-Deklarationen Was meint "Variable"

Das folgende Beispiel nutzt für jede Variable ein var-Schlüsselwort. Beispiel:

<script>
var u;
var x = 4711;
var s1 = 'Hallo Welt';
var s2 = "<blockquote>Hallo 'ECM\u0041'-Unicode-Welt<\/blockquote>";
var obj = {
             x:x, s1:4712, typ:function(v){return (typeof v);}
          };
var ok = true;
</script>
Welche eingebaute Funktionen gibt es?

Zu ECMAScript gehören bereits 'build in functions' (Function-Prototyp, global). Es gibt globale ECMAScript-Funktionen, wie z.B.

 escape(),      unescape(),  
 parseInt(),    parseFloat(), 
 eval()

Es gibt eingebaute String-Funktionen, die unter dem String-Prototyp hinterlegt sind, wie z.B.

.charAt(pos),             
.charCodeAt(pos),          .fromCharCode(zeichen...),
.indexOf(suchstring, pos), .lastIndexOf(suchstring,pos),
.match(re),                .search(re), 
.replace(suchwert, ersetzungswert),
.slice(anfang, ende),      .substr(), 
.split(separator, limit), 
.toLowerCase(),           .toUpperCase(),      .toFixed(), ...            

Es gibt eingebaute mathematische Funktionen, die unter dem Math-Objekt hinterlegt sind, wie z.B.

Math.min(), Math.max(), Math.floor(), Math.ceil(), Math.round()
Math.cos(),  Math.sin(),  Math.tan(), 
Math.acos(), Math.asin(), Math.atan(),
Math.sqrt(), Math.pow(), Math.exp(), Math.random()

Konstanten 
Math.LN2, Math.LN10, Math.LOG2E, Math.LOG10E,
Math.PI,  Math.SQRT1_2, Math.SQRT2     

Es gibt eingebaute Array-Funktionen, die zu dem Object-Prototyp gehören.

.push(), .shift(), .sort(), .split(), .join(), .slice(), .splice()
Wie sieht ein "Hallo Welt"-Programm aus?

Hier ein erstes ECMAScript-Programm im Body einer HTML-Seite:

<script>
var str1 = "Schreibe 'Hallo Welt' in die Seite";
var str2 = "<pre>Schreibe\n  'Hallo Welt'\n    im pre-Tag\n  formatiert\nin die Seite";
document.write( str1 ); 
document.write( str2 ); 
</script>

Hier die Anzeige des programmes: