JavaScript en JScript Wat is het verschil?

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-programmeertaal op dat moment kreeg.

Hoewel JavaScript en Java oppervlakkig gelijk zijn, zijn ze compleet verschillende talen. Deze naamgevingsbeslissing heeft voor beginners met beide talen talloze problemen veroorzaakt die ze voortdurend in verwarring brengen. Onthoud 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 maakte en dus introduceerde Microsoft met Internet Explorer 3 twee scripttalen. Eén 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, had JScript een aantal extra commando's en functies beschikbaar die niet in JavaScript stonden. JScript had ook interfaces met Microsoft's ActiveX-functionaliteit.

Verbergen voor oude browsers

Omdat Netscape 1, Internet Explorer 2 en andere vroege browsers JavaScript of JScript niet begrepen, werd het gebruikelijk om alle inhoud van het script in een HTML-commentaar te plaatsen om het script voor oudere browsers te verbergen. Nieuwe browsers, zelfs als ze geen scripts konden verwerken, werden 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 browsers die zijn uitgebracht na IE3.

Helaas waren tegen de tijd dat de extreem vroege browsers niet meer werden gebruikt, de reden voor de HTML-opmerking vergeten en bevatten zoveel mensen die nog geen ervaring hebben met JavaScript deze nu volledig overbodige tags. 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 een opmerking wordt in plaats van een script. Veel moderne Content Management Systemen (CMS) zullen hetzelfde doen.

Taal ontwikkeling

In de loop van de tijd zijn 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 groot dat het mogelijk was om browserdetectie te gebruiken om te bepalen of de browser Netscape of IE was. De juiste code voor die browser kan dan worden uitgevoerd. Toen de balans verschoof naar IE en een gelijk aandeel van de browsermarkt kreeg met Netscape, had deze onverenigbaarheid een oplossing nodig.

De oplossing van Netscape was om de controle over JavaScript over te dragen aan de European Computer Manufacturers Association (ECMA). De vereniging heeft de JavaScript-normen geformaliseerd onder de naam ECMAscipt. Tegelijkertijd begon het World Wide Web Consortium (W3C) aan een standaard Document Object Model (DOM) dat zou worden gebruikt om JavaScript en andere scripttalen volledige toegang te geven om alle inhoud van de pagina te manipuleren in plaats van de beperkte toegang die het tot die tijd had.

Voordat de DOM-standaard compleet was, brachten Netscape en Microsoft hun eigen versies uit. Netscape 4 kwam met zijn eigen document.layer DOM en Internet Explorer 4 kwam met zijn eigen document.all DOM. Beide documentobjectmodellen werden overbodig toen mensen stopten met het gebruik van een van beide browsers, aangezien alle browsers sindsdien de standaard DOM hebben geïmplementeerd.

normen

ECMAscript en de introductie van de standaard DOM in alle versie vijf en recentere browsers hebben de meeste incompatibiliteiten tussen Javascript en JScript verwijderd. Hoewel deze twee talen nog steeds verschillen, is het nu mogelijk om code te schrijven die zowel als JScript in Internet Explorer en als JavaScript in alle andere moderne browsers kan worden uitgevoerd met zeer weinig functiedetectie nodig. Ondersteuning voor specifieke functies kan per browser verschillen, maar we kunnen op die verschillen testen door vanaf het begin een functie in beide talen te gebruiken waarmee we kunnen testen of de browser een specifieke functie ondersteunt. Door de specifieke functies te testen die niet alle browsers ondersteunen, kunnen we bepalen welke code geschikt is om in de huidige browser te worden uitgevoerd.

verschillen

Het grootste verschil tussen JavaScript en JScript zijn alle extra opdrachten die JScript ondersteunt die toegang tot ActiveX en de lokale computer mogelijk maken. Deze opdrachten zijn bedoeld voor gebruik op intranetsites waar u de configuratie van alle computers kent en dat ze allemaal op Internet Explorer draaien.

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 dus tenzij anders gespecificeerd, bevatten alle verwijzingen naar JavaScript die u ziet meestal ook JScript.