Javascript og JScript: Hvad er forskellen?

click fraud protection

Netscape udviklede den originale version af JavaScript til den anden version af deres populære browser. Oprindeligt var Netscape 2 den eneste browser, der understøttede et scriptsprog, og dette sprog blev oprindeligt kaldet LiveScript. Det blev snart omdøbt til JavaScript. Dette var i et forsøg på at indbetale noget af den reklame, som Sun's Java programmeringssprog fik på det tidspunkt.

Mens JavaScript og Java er overfladisk ens, er de helt forskellige sprog. Denne navnebeslutning har skabt adskillige problemer for begyndere med begge sprog, der konstant forvirrer dem. Husk bare, at JavaScript ikke er Java (og vice versa), og at du vil undgå meget forvirring.

Microsoft forsøgte at fange markedsandele fra Netscape på det tidspunkt, hvor Netscape oprettede JavaScript, og så med Internet Explorer 3 introducerede Microsoft to scripting-sprog. En af disse baserede de på visual basic, og det fik navnet VBscript. Den anden var en JavaScript-lookalike, som Microsoft kaldte JScript.

For at forsøge at overgå Netscape havde JScript et antal ekstra kommandoer og funktioner tilgængelige, som ikke var i JavaScript. JScript havde også grænseflader til Microsofts ActiveX-funktionalitet også.

instagram viewer

Da Netscape 1, Internet Explorer 2 og andre tidlige browsere ikke forstod hverken JavaScript eller JScript, blev det en almindelig praksis for at placere alt indholdet af scriptet inde i en HTML-kommentar for at skjule scriptet fra ældre browsere. Nye browsere, selvom de ikke kunne håndtere scripts, var designet til at genkende script-tags selv og så skjule manuskriptet ved at placere det i en kommentar var ikke nødvendigt for nogen browsere, der blev frigivet efter IE3.

På det tidspunkt, hvor de ekstremt tidlige browsere ophørte med at blive brugt, havde folk glemt årsagen for HTML-kommentaren og så mange mennesker, der er nye til JavaScript, inkluderer stadig disse nu helt unødvendige tags. Faktisk kan HTML-kommentaren medføre problemer med moderne browsere. Hvis du bruger XHTML i stedet for HTML inklusive koden inde i en sådan kommentar, vil det have den effekt at gøre scriptet til en kommentar snarere end et script. Mange moderne Content Management Systems (CMS) vil gøre det samme.

Med tiden blev både JavaScript og JScript udvidet til at introducere nye kommandoer for at forbedre deres evne til at interagere med websider. Begge sprog tilføjede nye funktioner, der fungerede anderledes end den tilsvarende funktion (hvis nogen) på det andet sprog.

Den måde, de to sprog fungerer på, var lige så tilstrækkelig, at det var muligt at bruge browser-sensing til at finde ud af, om browseren var Netscape eller IE. Den passende kode til den browser kunne derefter køres. Da balancen skiftede mod IE og fik en lige andel af browsermarkedet med Netscape, var denne uforenelighed nødvendig med en opløsning.

Netscapes løsning var at overdrage kontrollen over JavaScript til European Computer Manufacturer Association (ECMA). Foreningen formaliserede JavaScript-standarderne under navnet ECMAscipt. Samtidig påbegyndte World Wide Web Consortium (W3C) arbejdet med en standard Document Object Model (DOM), der ville blive brugt til at tillade JavaScript og andre scripting-sprog har fuld adgang til at manipulere alt indholdet på siden i stedet for den begrænsede adgang, den havde indtil den tid.

Inden DOM-standarden var afsluttet, frigav både Netscape og Microsoft deres egne versioner. Netscape 4 kom med sit eget document.layer DOM og Internet Explorer 4 kom med sit eget document.all DOM. Begge disse dokumentobjektmodeller blev forældede, da folk ophørte med at bruge en af ​​disse browsere, da alle browsere siden da har implementeret standard DOM.

ECMAscript og introduktionen af ​​standard DOM i alle version fem og nyere browsere fjernede det meste af inkompatibiliteten mellem Javascript og JScript. Mens disse to sprog stadig har deres forskelle, er det nu muligt at skrive kode, der kan køre begge som JScript i Internet Explorer og som JavaScript i alle de andre moderne browsere med meget lidt funktionsmåling havde brug for. Support til specifikke funktioner kan variere mellem browsere, men vi kan teste for disse forskelle ved at bruge en funktion indbygget i begge sprog fra starten, der giver os mulighed for at teste, om browseren understøtter et specifikt funktion. Ved at teste de specifikke funktioner, som ikke alle browsere understøtter, vil vi være i stand til at bestemme, hvilken kode der er passende til at køre i den aktuelle browser.

Den største forskel nu mellem JavaScript og JScript er alle de ekstra kommandoer, som JScript understøtter, der giver adgang til ActiveX og den lokale computer. Disse kommandoer er beregnet til brug på intranetsider hvor du kender konfigurationen af ​​alle computere, og at de alle kører Internet Explorer.

Der er stadig et par områder tilbage, hvor JavaScript og JScript er forskellige i de midler, de giver til at udføre en bestemt opgave. Bortset fra i disse situationer kan de to sprog betragtes som ækvivalente med hinanden og så medmindre andet er angivet, indeholder alle de referencer til JavaScript, som du ser, normalt også JScript.

instagram story viewer