JavaScript und JScript Was ist der Unterschied?

Netscape hat die Originalversion von JavaScript für die zweite Version seines beliebten Browsers entwickelt. Anfänglich war Netscape 2 der einzige Browser, der eine Skriptsprache unterstützte, und diese Sprache hieß ursprünglich LiveScript. Es wurde bald in JavaScript umbenannt. Dies war ein Versuch, einen Teil der Öffentlichkeitsarbeit zu nutzen, die Suns Java-Programmiersprache zu dieser Zeit erhielt.

Während JavaScript und Java sich oberflächlich ähneln, sind sie völlig verschiedene Sprachen. Diese Namensentscheidung hat Anfängern mit beiden Sprachen zahlreiche Probleme bereitet, die sie immer wieder durcheinander bringen. Denken Sie daran, dass JavaScript nicht Java ist (und umgekehrt), und Sie werden viel Verwirrung vermeiden.

Microsoft versuchte zu der Zeit, als Netscape JavaScript erstellte, Marktanteile von Netscape zu gewinnen. Daher führte Microsoft mit Internet Explorer 3 zwei Skriptsprachen ein. Eine davon basierte auf Visual Basic und erhielt den Namen VBscript. Der zweite war ein JavaScript-Lookalike, den Microsoft als JScript bezeichnete.

Um zu versuchen, Netscape zu übertreffen, verfügte JScript über eine Reihe zusätzlicher Befehle und Funktionen, die nicht in JavaScript enthalten waren. JScript verfügte auch über Schnittstellen zur ActiveX-Funktionalität von Microsoft.

Vor alten Browsern verstecken

Da Netscape 1, Internet Explorer 2 und andere frühe Browser weder JavaScript noch JScript verstanden, wurde es allgemein üblich, den gesamten Inhalt des Skripts in einen HTML-Kommentar einzufügen, um das Skript vor älteren Browsern zu verbergen. Neue Browser, auch wenn sie keine Skripte handhaben konnten, wurden entwickelt, um die Skript-Tags selbst zu erkennen. Daher war es für alle nach IE3 veröffentlichten Browser nicht erforderlich, das Skript durch Platzieren in einem Kommentar auszublenden.

Leider hatten die Leute zu der Zeit, als die extrem frühen Browser nicht mehr verwendet wurden, den Grund für den HTML-Kommentar vergessen, und so viele Leute, die neu in JavaScript sind, enthalten diese jetzt völlig unnötigen Tags. Tatsächlich kann das Einfügen des HTML-Kommentars bei modernen Browsern Probleme verursachen. Wenn Sie XHTML anstelle von HTML verwenden und den Code in einen solchen Kommentar einfügen, wird das Skript eher zu einem Kommentar als zu einem Skript. Viele moderne Content Management Systeme (CMS) werden dasselbe tun.

Sprachentwicklung

Im Laufe der Zeit wurden JavaScript und JScript um neue Befehle erweitert, um die Interaktion mit Webseiten zu verbessern. In beiden Sprachen wurden neue Funktionen hinzugefügt, die anders funktionierten als die entsprechenden Funktionen (falls vorhanden) in der anderen Sprache.

Die Funktionsweise der beiden Sprachen war gerade so ähnlich, dass mithilfe der Browsererkennung ermittelt werden konnte, ob es sich bei dem Browser um Netscape oder IE handelte. Der entsprechende Code für diesen Browser könnte dann ausgeführt werden. Da sich das Gleichgewicht in Richtung IE verlagerte und Netscape den gleichen Anteil am Browsermarkt einnahm, erforderte diese Inkompatibilität eine Lösung.

Die Lösung von Netscape bestand darin, die Kontrolle über JavaScript an die European Computer Manufacturers Association (ECMA) zu übergeben. Die Vereinigung formalisierte die JavaScript-Standards unter dem Namen ECMAscipt. Gleichzeitig begann das World Wide Web Consortium (W3C) mit der Arbeit an einem Standard-Document Object Model (DOM), mit dessen Hilfe JavaScript und andere Skriptsprachen uneingeschränkten Zugriff auf den gesamten Inhalt der Seite anstelle der eingeschränkten Inhalte erhalten Zugang, den es bis dahin hatte.

Bevor der DOM-Standard vollständig war, haben sowohl Netscape als auch Microsoft ihre eigenen Versionen veröffentlicht. Netscape 4 wurde mit einem eigenen document.layer-DOM und Internet Explorer 4 mit einem eigenen document.all-DOM ausgeliefert. Beide Dokumentobjektmodelle wurden überholt, als Benutzer keinen dieser Browser mehr verwendeten, da seitdem alle Browser das Standard-DOM implementiert haben.

Standards

ECMAscript und die Einführung des Standard-DOM in allen Browsern der Version fünf und neuer haben die meisten Inkompatibilitäten zwischen Javascript und JScript beseitigt. Obwohl diese beiden Sprachen immer noch ihre Unterschiede aufweisen, ist es jetzt möglich, Code zu schreiben, der sowohl als JScript in Internet Explorer als auch als JavaScript in allen anderen modernen Browsern ausgeführt werden kann, wobei nur sehr wenig Feature-Sensing erforderlich ist. Die Unterstützung für bestimmte Funktionen kann von Browser zu Browser unterschiedlich sein. Wir können diese Unterschiede jedoch testen, indem wir von Anfang an eine in beide Sprachen integrierte Funktion verwenden, mit der wir testen können, ob der Browser eine bestimmte Funktion unterstützt. Durch Testen der spezifischen Funktionen, die nicht von allen Browsern unterstützt werden, können wir feststellen, welcher Code für die Ausführung im aktuellen Browser geeignet ist.

Unterschiede

Der größte Unterschied zwischen JavaScript und JScript sind die zusätzlichen Befehle, die JScript unterstützt und die den Zugriff auf ActiveX und den lokalen Computer ermöglichen. Diese Befehle sind für die Verwendung auf Intranetsites vorgesehen, auf denen Sie die Konfiguration aller Computer kennen und auf denen Internet Explorer ausgeführt wird.

Es bleiben noch einige Bereiche übrig, in denen sich JavaScript und JScript hinsichtlich der Mittel unterscheiden, die sie zur Ausführung einer bestimmten Aufgabe bereitstellen. Mit Ausnahme dieser Situationen können die beiden Sprachen als einander äquivalent betrachtet werden. Sofern nicht anders angegeben, enthalten alle Verweise auf JavaScript, die Sie sehen, normalerweise auch JScript.