Qual è la differenza tra JavaScript e JScript?


117

Mi sono sempre chiesto CHE COSA HECK?!? è la differenza tra JScript e JavaScript.


Sono sicuro che sia già stato sottolineato, ma IE, non puoi usare la constparola chiave per dichiarare le variabili: const MY_CONSTANT = 10;
dplante

Risposte:


83

Solo nomi diversi per ciò che è realmente ECMAScript. John Resig ha una buona spiegazione .

Ecco la ripartizione della versione completa:

  • IE 6-7 supporta JScript 5 (che è equivalente a ECMAScript 3, JavaScript 1.5)
  • IE 8 supporta JScript 6 (che è equivalente a ECMAScript 3, JavaScript 1.5 - più correzioni di bug su JScript 5)
  • Firefox 1.0 supporta JavaScript 1.5 (equivalente a ECMAScript 3)
  • Firefox 1.5 supporta JavaScript 1.6 (1.5 + Array Extras + E4X + varie)
  • Firefox 2.0 supporta JavaScript 1.7 (1.6 + Generator + Iterators + let + misc.)
  • Firefox 3.0 supporta JavaScript 1.8 (1.7 + Generator Expressions + Expression Closures + varie)
  • La prossima versione di Firefox supporterà JavaScript 1.9 (1.8 + Da determinare)
  • Opera supporta un linguaggio equivalente a ECMAScript 3 + Getters e Setters + misc.
  • Safari supporta un linguaggio equivalente a ECMAScript 3 + Getters e Setters + misc.

15
Questo è sbagliato. JScript supporta alcune funzionalità di sintassi non presenti in JavaScript, tra cui f(x) = y. Vedi questa domanda per ulteriori informazioni.
Asad Saeeduddin

4
@Malachi non ne ho bisogno. La risposta di Patrick è corretta.
Asad Saeeduddin

38

Per quanto ne so, due cose:

  1. Costruttore di ActiveXObject
  2. L'idioma f (x) = y, che è più o meno equivalente a f [x] = y.

5
L' f(x) = yidioma mi infastidisce di più! Perché, oh perché non sono semplicemente andati con f[x] = y...
Ates Goral

2
Gli Stati membri avevano bisogno di aggiungere il loro timbro in quest'epoca. È così che sai che è buono.
cchamberlain

21

Da Wikipedia: http://en.wikipedia.org/wiki/Jscript

JScript è il dialetto Microsoft della specifica del linguaggio di scripting ECMAScript.

JavaScript (l'implementazione Netscape / Mozilla della specifica ECMA), JScript e ECMAScript sono linguaggi molto simili. Infatti il ​​nome "JavaScript" è spesso usato per fare riferimento a ECMAScript o JScript.

Microsoft utilizza il nome JScript per la sua implementazione per evitare problemi con i marchi ( JavaScript è un marchio di Oracle Corporation ).


7
Questo non risponde affatto alla domanda. La domanda è: "Quali sono le differenze tra JavaScript e JScript". La risposta corretta è sepolta sotto diverse ripetizioni della stessa cosa.
Asad Saeeduddin

7

JScript è l'implementazione di Microsoft della specifica ECMAScript. JavaScript è l'implementazione Mozilla della specifica.


7

Javascript, il linguaggio, è arrivato per primo da Netscape.

Microsoft ha decodificato Javascript e lo ha chiamato JScript per evitare problemi di marchio con Sun. (Netscape e Sun erano una partnership all'epoca, quindi questo era un problema minore)

Le lingue sono identiche, entrambi sono dialetti della scrittura ECMA, lo standard dopo il fatto.

Sebbene le lingue siano identiche, poiché JScript viene eseguito in Internet Explorer, ha accesso a diversi oggetti esposti dal browser (come ActiveXObject)


10
Né le lingue sono realmente identiche, come sottolineato in un altro post.
EFraim


4

Secondo questo articolo:

  • JavaScript è un linguaggio di scripting sviluppato da Netscape Communications progettato per lo sviluppo di applicazioni Internet client e server. Netscape Navigator è progettato per interpretare JavaScript incorporato nelle pagine Web. JavaScript è indipendente dal linguaggio Java di Sun Microsystem.

  • Microsoft JScript è un'implementazione aperta di JavaScript di Netscape. JScript è un linguaggio di scripting ad alte prestazioni progettato per creare contenuti online attivi per il World Wide Web. JScript consente agli sviluppatori di collegare e automatizzare un'ampia varietà di oggetti nelle pagine Web, inclusi controlli ActiveX e programmi Java. Microsoft Internet Explorer è progettato per interpretare JScript incorporato nelle pagine Web.


2
@phrj: questa è la definizione Humpty Dumpty di "Open". AFAIK, significa "ortogonale".
Shog9,

7
Chiamare JScript "ad alte prestazioni" nell'era pre-V8 fa capire quanto siamo arrivati.
Ray Toal

6
Il secondo elemento dell'elenco sembra materiale pubblicitario: "implementazione aperta" in realtà significa "devi essere di mentalità aperta per accettarlo", e "ad alte prestazioni" significa "pensato per essere eseguito su una macchina ad alte prestazioni".
Camilo Martin

4

Molto tempo fa, tutti i fornitori di browser creavano motori JavaScript per i loro browser e solo loro e dio sapevano cosa stava succedendo al suo interno. Un bel giorno, ECMA International è venuta e ha detto: creiamo motori basati su standard comuni, facciamo qualcosa di generale per rendere la vita più facile e divertente, e hanno fatto quello standard. Poiché tutti i provider di browser realizzano i propri motori JavaScript basati su ECMAScript core (standard).

Ad esempio, Google Chrome utilizza il motore V8 e questo è open source. Puoi scaricarlo e vedere come il programma C ++ traduce un comando "print" di JavaScript in codice macchina.

Internet Explorer utilizza il motore JScript (Chakra) per il proprio browser e altri lo fanno e tutti usano un core comune.


2

Wikipedia ha questo da dire sulle differenze.

In generale JScript è un linguaggio di scripting ActiveX che è probabilmente interpretato come JavaScript dai browser non IE.


1

Ci sono alcune differenze di codice di cui tenere conto.

Un primo parametro negativo per subtr non è supportato, ad esempio in Javascript: "string".substr(-1)restituisce "g", mentre in JScript: "string".substr(-1)restituisce "stringa"

È possibile "string"[0]ottenere "s" in Javascript, ma JScript non supporta tale costrutto. (In realtà, solo i browser moderni sembrano supportare il "string"[0]costrutto.


-5

Jscript è un linguaggio .NET simile a C #, con le stesse capacità e accesso a tutte le funzioni .NET.

JavaScript viene eseguito sul server ASP Classic. Utilizza l'ASP classico per eseguire lo stesso JavaScript che hai sul client (escluse le funzionalità HTML5). Ho solo un set di codice in questo modo per la maggior parte del mio codice.

Eseguo .ASPX JScript quando ho bisogno di funzioni Image e Binary File, (tra molte altre) che non sono in ASP classico. Questo codice è unico per il server, ma estremamente potente.


7
Penso che tu stia pensando a JScript.Net
Lankymart

-7

JScript è l'equivalente Microsoft di JavaScript .
Java è un prodotto Oracle e un tempo era un prodotto Sun.

Oracle ha acquistato Sun .

JavaScript + Microsoft = JScript


14
Vacci piano con gli audaci!
Jowen

Perché Java? Volevi dire JavaScript.
Stack0verflow

Una nota importante per chiunque non lo sappia: JavaScript e Java non sono la stessa cosa o correlati in alcun modo. JavaScript era originariamente chiamato LiveScript. Ma ribattezzato JavaScript per sfruttare la popolarità di Java. La condivisione del nome è l'estensione di ciò che hanno in comune a parte le somiglianze con i linguaggi di sintassi C come.
Bacon Brad
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.