Javascript e JScript: qual è la differenza?

click fraud protection

Netscape ha sviluppato la versione originale di JavaScript per la seconda versione del loro popolare browser. Inizialmente, Netscape 2 era l'unico browser a supportare un linguaggio di scripting e tale linguaggio era originariamente chiamato LiveScript. Fu presto ribattezzato JavaScript. Questo è stato nel tentativo di incassare parte della pubblicità di Sun's Java linguaggio di programmazione stava arrivando in quel momento.

Mentre JavaScript e Java sono superficialmente simili, sono lingue completamente diverse. Questa decisione di denominazione ha causato numerosi problemi per i principianti con entrambe le lingue che li confondono continuamente. Basta ricordare che JavaScript non è Java (e viceversa) e si eviterà molta confusione.

Microsoft stava tentando di acquisire quote di mercato da Netscape al momento in cui Netscape ha creato JavaScript e quindi con Internet Explorer 3 Microsoft ha introdotto due linguaggi di scripting. Uno di questi si basava su Visual Basic e gli fu dato il nome VBscript. Il secondo era un sosia di JavaScript che Microsoft chiamava JScript.

instagram viewer

Per provare a superare Netscape, JScript aveva a disposizione una serie di comandi e funzionalità aggiuntivi che non erano in JavaScript. JScript aveva anche interfacce per la funzionalità ActiveX di Microsoft.

Poiché Netscape 1, Internet Explorer 2 e altri primi browser non capivano né JavaScript né JScript, divenne un pratica comune di collocare tutto il contenuto dello script all'interno di un commento HTML in modo da nascondere lo script dai precedenti i browser. I nuovi browser, anche se non potevano gestire gli script, sono stati progettati per riconoscere i tag degli script stessi e quindi nascondere lo script inserendolo in un commento non era necessario per nessun browser rilasciato dopo IE3.

Sfortunatamente, quando i browser estremamente precoci cessarono di essere utilizzati, le persone avevano dimenticato il motivo per il commento HTML e così tante persone nuove a JavaScript includono ancora questi tag completamente inutili. Infatti, includere il commento HTML può causare problemi con i browser moderni. Se si utilizza XHTML anziché HTML, incluso il codice all'interno di un commento del genere, si avrà l'effetto di rendere lo script un commento anziché uno script. Molti moderni sistemi di gestione dei contenuti (CMS) faranno lo stesso.

Nel tempo sia JavaScript che JScript sono stati estesi per introdurre nuovi comandi per migliorare la loro capacità di interagire con le pagine Web. Entrambe le lingue hanno aggiunto nuove funzionalità che hanno funzionato diversamente dall'eventuale funzione corrispondente nell'altra lingua.

Il modo in cui funzionano le due lingue era abbastanza simile che era possibile utilizzare il rilevamento del browser per capire se il browser era Netscape o IE. È quindi possibile eseguire il codice appropriato per quel browser. Poiché il saldo si spostava verso IE guadagnando una quota uguale del mercato dei browser con Netscape, questa incompatibilità aveva bisogno di una soluzione.

La soluzione di Netscape era di consegnare il controllo di JavaScript alla European Computer Manufacturers Association (ECMA). L'Associazione ha formalizzato gli standard JavaScript con il nome ECMAscipt. Allo stesso tempo, il World Wide Web Consortium (W3C) ha iniziato a lavorare su un Document Object Model (DOM) standard che sarebbe stato utilizzato per consentire JavaScript e altri linguaggi di scripting hanno pieno accesso per manipolare tutto il contenuto della pagina invece dell'accesso limitato fino a quel momento quella volta.

Prima che lo standard DOM fosse completo, sia Netscape che Microsoft hanno rilasciato le proprie versioni. Netscape 4 è arrivato con il suo document.layer DOM e Internet Explorer 4 è arrivato con il suo document.all DOM. Entrambi questi modelli di oggetti documento sono stati resi obsoleti quando le persone hanno smesso di usare uno di questi browser poiché tutti i browser da allora hanno implementato il DOM standard.

ECMAscript e l'introduzione del DOM standard in tutti i browser versione 5 e più recenti hanno rimosso la maggior parte delle incompatibilità tra Javascript e JScript. Mentre queste due lingue hanno ancora le loro differenze, ora è possibile scrivere codice che può essere eseguito sia come JScript in Internet Explorer e come JavaScript in tutti gli altri browser moderni con funzionalità di rilevamento molto ridotte necessario. Il supporto per funzionalità specifiche può variare a seconda del browser, ma possiamo verificare tali differenze facendo uso di a funzionalità integrata in entrambe le lingue dall'inizio che ci consente di verificare se il browser supporta una specifica caratteristica. Testando le funzionalità specifiche che non tutti i browser supportano saremo in grado di determinare quale codice è appropriato eseguire nel browser corrente.

La più grande differenza ora tra JavaScript e JScript sono tutti i comandi aggiuntivi supportati da JScript che consentono l'accesso ad ActiveX e al computer locale. Questi comandi sono previsti per utilizzare su siti intranet dove conosci la configurazione di tutti i computer e che tutti eseguono Internet Explorer.

Rimangono ancora alcune aree in cui JavaScript e JScript differiscono nei mezzi che forniscono per eseguire una determinata attività. Tranne che in queste situazioni, le due lingue possono essere considerate equivalenti tra loro e così se non diversamente specificato, tutti i riferimenti a JavaScript che vedrai includeranno di solito JScript.

instagram story viewer