Netscape ontwikkelde de originele versie van JavaScript voor de tweede versie van hun populaire browser. Aanvankelijk was Netscape 2 de enige browser die een scripttaal ondersteunde en die taal heette oorspronkelijk LiveScript. Het werd al snel omgedoopt tot JavaScript. Dit was in een poging om een deel van de publiciteit te verzilveren die Sun's Java is programmeertaal kreeg op dat moment.
Hoewel JavaScript en Java op het eerste gezicht hetzelfde zijn, zijn het totaal verschillende talen. Deze naamgevingsbeslissing heeft talloze problemen veroorzaakt voor beginners met beide talen, die ze voortdurend in de war brengen. Onthoud alleen dat JavaScript geen Java is (en vice versa) en u zult veel verwarring voorkomen.
Microsoft probeerde marktaandeel van Netscape te veroveren op het moment dat Netscape JavaScript creëerde en daarom introduceerde Microsoft met Internet Explorer 3 twee scripttalen. Een daarvan was gebaseerd op visual basic en kreeg de naam VBscript. De tweede was een JavaScript-lookalike die Microsoft JScript noemde.
Om Netscape te overtreffen, beschikte JScript over een aantal aanvullende opdrachten en functies die niet in JavaScript stonden. JScript had ook interfaces met de ActiveX-functionaliteit van Microsoft.
Omdat Netscape 1, Internet Explorer 2 en andere vroege browsers JavaScript of JScript niet begrepen, werd het een Gebruikelijke praktijk om alle inhoud van het script in een HTML-commentaar te plaatsen om het script voor oudere te verbergen browsers. Nieuwe browsers, zelfs als ze scripts niet aankonden, waren ontworpen om de scripttags zelf te herkennen en dus was het verbergen van het script door het in een opmerking te plaatsen niet vereist voor enige browser die daarna werd uitgebracht IE3.
Helaas waren mensen tegen de tijd dat de extreem vroege browsers niet meer werden gebruikt de reden vergeten voor de HTML-opmerking en zoveel mensen die nieuw zijn in JavaScript, bevatten deze nu volledig overbodige tags nog steeds. Het opnemen van de HTML-opmerking kan zelfs problemen veroorzaken met moderne browsers. Als u XHTML gebruikt in plaats van HTML, inclusief de code in een dergelijke opmerking, heeft dit tot gevolg dat het script eerder een opmerking dan een script wordt. Veel moderne Content Management Systemen (CMS) zullen hetzelfde doen.
In de loop van de tijd werden zowel JavaScript als JScript uitgebreid om nieuwe opdrachten te introduceren om hun interactie met webpagina's te verbeteren. Beide talen hebben nieuwe functies toegevoegd die anders werkten dan de overeenkomstige functie (indien aanwezig) in de andere taal.
De manier waarop de twee talen werken was net zo vergelijkbaar dat het mogelijk was om browserdetectie te gebruiken om erachter te komen of de browser Netscape of IE was. De juiste code voor die browser kan dan worden uitgevoerd. Toen het saldo verschoof naar IE en een gelijk aandeel van de browsermarkt verwierf met Netscape, had deze incompatibiliteit een oplossing nodig.
De oplossing van Netscape was om de controle over te dragen JavaScript bij de European Computer Manufacturers Association (ECMA). De Vereniging formaliseerde de JavaScript-standaarden onder de naam ECMAscipt. Tegelijkertijd begon het World Wide Web Consortium (W3C) met de werkzaamheden aan een standaard Document Object Model (DOM) dat zou worden gebruikt om JavaScript en andere scripttalen hebben volledige toegang om alle inhoud van de pagina te manipuleren in plaats van de beperkte toegang die het tot die tijd had die tijd.
Voordat de DOM-standaard voltooid was, brachten zowel Netscape als Microsoft hun eigen versies uit. Netscape 4 kwam met een eigen document. Player DOM en Internet Explorer 4 kwam met een eigen document. All DOM. Beide documentobjectmodellen werden achterhaald toen mensen stopten met het gebruik van een van deze browsers, aangezien alle browsers sindsdien de standaard DOM hebben geïmplementeerd.
ECMAscript en de introductie van de standaard DOM in alle versies van vijf en recentere browsers hebben de meeste onverenigbaarheden tussen Javascript en JScript verwijderd. Hoewel deze twee talen nog steeds hun verschillen hebben, is het nu mogelijk om code te schrijven die zowel als kan worden uitgevoerd JScript in Internet Explorer en als JavaScript in alle andere moderne browsers met zeer weinig functieherkenning nodig zijn. Ondersteuning voor specifieke functies kan per browser verschillen, maar we kunnen deze verschillen testen door gebruik te maken van een functie die vanaf het begin in beide talen is ingebouwd en waarmee we kunnen testen of de browser een specifieke ondersteunt voorzien zijn van. Door de specifieke functies te testen die niet door alle browsers worden ondersteund, kunnen we bepalen welke code geschikt is om in de huidige browser te worden uitgevoerd.
Het grootste verschil tussen JavaScript en JScript zijn nu alle aanvullende opdrachten die JScript ondersteunt die toegang tot ActiveX en de lokale computer mogelijk maken. Deze commando's zijn bedoeld voor gebruik op intranetsites waar u de configuratie van alle computers kent en dat ze allemaal Internet Explorer gebruiken.
Er zijn nog een paar gebieden waar JavaScript en JScript verschillen in de middelen die ze bieden om een bepaalde taak uit te voeren. Behalve in deze situaties kunnen de twee talen als gelijkwaardig aan elkaar worden beschouwd en zo tenzij anders gespecificeerd, zullen alle verwijzingen naar JavaScript die u ziet, meestal ook bevatten JScript.