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).
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.
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>
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()
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: