2008-09-25 17 views

Respuesta

74

Solo nombres diferentes para lo que realmente es ECMAScript. John Resig tiene un good explanation.

Aquí está la versión desglose completo:

  • IE 6-7 apoyo JScript 5 (que es equivalente a ECMAScript 3, JavaScript 1.5)
  • IE 8 soporta JScript 6 (que es equivalente a ECMAScript 3, JavaScript 1.5 - más correcciones de errores sobre JScript 5)
  • Firefox 1.0 admite JavaScript 1.5 (equivalente a ECMAScript 3)
  • Firefox 1.5 admite JavaScript 1.6 (1.5 + Extras de matriz + E4X + misc.)
  • Firefox 2.0 soporta JavaScript 1.7 (1.6 + generador + iteradores + dejar + misceláneos.)
  • Firefox 3.0 soporta JavaScript 1.8 (1.7 + generador Expresiones + Expresión cierres + misceláneos.)
  • La próxima versión de Firefox podrá soporte JavaScript 1.9 (1.8 + Por determinar)
  • Opera es compatible con un lenguaje equivalente a ECMAScript 3 + Getters y Setters + misc.
  • Safari es compatible con un lenguaje equivalente a ECMAScript 3 + Getters y Setters + misc.
+8

Esto está mal. JScript admite algunas características de sintaxis que no están presentes en JavaScript, como 'f (x) = y'. Consulte [esta pregunta] (http://stackoverflow.com/questions/18838213/property-bag-in-javascript/18838507) para obtener más información. –

+1

publique una nueva respuesta * actualizada * por favor @ Asad – Malachi

+4

@Malachi No es necesario. [La respuesta de Patrick] (http://stackoverflow.com/a/135256/1726343) es correcta. –

4

JScript es la implementación de Microsoft de Javascript

+36

JScript es la implementación de Microsoft de ECMAScript * –

19

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

JScript es el dialecto de Microsoft el lenguaje de script especificación ECMAScript .

JavaScript (la implementación de Netscape/Mozilla de la especificación ECMA ), JScript, y ECMAScript son lenguajes muy similares. De hecho, el nombre "JavaScript" es a menudo utilizado para referirse a ECMAScript o JScript.

Microsoft utiliza el nombre de JScript para su aplicación para evitar problemas con las marcas (JavaScript es una marca comercial de Oracle Corporation).

+0

También eche un vistazo a http://en.wikipedia.org/wiki/JavaScript – Nipuna

+6

Esto no responde la pregunta en absoluto. La pregunta es: "¿Cuáles son las diferencias entre JavaScript y JScript". La [respuesta correcta] (http://stackoverflow.com/a/135256/1726343) está enterrada bajo varias reiteraciones de la misma cosa. –

+0

Esto ya no es cierto: https://github.com/Microsoft/ChakraCore –

5

JScript es la implementación de Microsoft de la especificación ECMAScript. JavaScript es la implementación de Mozilla de la especificación.

4

De acuerdo con el artículo this:

  • JavaScript es un lenguaje de programación desarrollado por Netscape Communications diseñados para desarrollar aplicaciones de Internet de cliente y servidor. Netscape Navigator está diseñado para interpretar JavaScript incrustado en páginas web. JavaScript es independiente del lenguaje Java de Sun Microsystem.

  • Microsoft JScript es una implementación abierta de JavaScript de Netscape. JScript es un lenguaje de scripting de alto rendimiento diseñado para crear contenido activo en línea para la World Wide Web. JScript permite a los desarrolladores vincular y automatizar una amplia variedad de objetos en las páginas web, incluidos los controles ActiveX y los programas de Java. Microsoft Internet Explorer está diseñado para interpretar JScript incrustado en páginas web.

+4

¿Implementación abierta? –

+2

@phrj: esta es la definición Humpty Dumpty de "Abrir". AFAIK, significa "ortogonal". – Shog9

+7

Llamar a JScript de "alto rendimiento" en la era anterior al V8 nos hace darnos cuenta de lo lejos que hemos llegado. –

1

Wikipedia tiene this para decir sobre las diferencias.

En general, JScript es un lenguaje de scripting ActiveX que probablemente sea interpretado como JavaScript por navegadores que no sean IE.

33

Por lo que yo puedo decir, dos cosas:

  1. ActiveXObject constructor
  2. La expresión f (x) = y, lo que es aproximadamente equivalente a f [x] = y.
+2

¡La expresión 'f (x) = y' me molesta más! ¿Por qué? ¿Por qué no se limitaron a 'f [x] = y' ... –

+3

Me recuerda a Visual Basic. –

+1

MS necesitaba agregar su sello en esta época. Así es como sabes que es bueno. – cchamberlain

6

Javascript, el idioma, primero, de Netscape.

Microsoft ingeniería inversa Javascript y lo llamó JScript para evitar problemas de marca con Sun. (Netscape y Sun se asociaron en el momento, por lo que esto fue menos un problema)

Los idiomas son idénticos, ambos son dialectos de la secuencia de comandos ECMA, el estándar de hecho.

Aunque las lenguas son iguales, ya que JScript se ejecuta en Internet Explorer, tiene acceso a objetos diferentes expuestas por el navegador (como ActiveXObject)

+8

Ni los idiomas son realmente idénticos, como se describe en otra publicación. – EFraim

-4

JScript es equivalente a Microsoft 's JavaScript.
Java es un producto Oracle y solía ser un producto Sun.

Oracle comprado Dom.

JavaScript + Microsoft = JScript

+10

¡Vaya fácil en las bolds! – Jowen

+0

¿Por qué Java? Querías decir JavaScript. – Stack0verflow

-3

JScript es un lenguaje .NET similar a C#, con las mismas capacidades y acceso a todas las funciones de .NET.

JavaScript se ejecuta en el servidor ASP Classic. Use Classic ASP para ejecutar el mismo JavaScript que tiene en el Cliente (excluidas las capacidades HTML5). Solo tengo un conjunto de códigos de esta manera para la mayoría de mi código.

Ejecuto .ASPX JScript cuando requiero funciones de imagen y archivo binario, (entre muchas otras) que no están en ASP clásico. Este código es único para el servidor, pero extremadamente poderoso.

+4

Creo que estás pensando en [JScript.Net] (https://en.wikipedia.org/wiki/JScript_.NET) – Lankymart

0

Existen algunas diferencias de código a tener en cuenta.

Un primer parámetro negativo para subtr no se admite, p.en Javascript: "string".substr(-1) devuelve "g", mientras que en JScript: "string".substr(-1) devuelve "cadena"

Es posible hacer "string"[0] para conseguir "s" en Javascript, pero JScript no admite tal construcción. (En realidad, solo los navegadores modernos parecen admitir la construcción "string"[0].

1

Hace mucho tiempo, todos los proveedores de navegadores creaban motores de JavaScript para sus navegadores y solo ellos y Dios sabían lo que estaba sucediendo dentro de este. Un hermoso día vino y dijo ECMA international : hagamos motores basados ​​en estándares comunes, hagamos algo general para hacer la vida más fácil y divertida e hicieron ese estándar. ya que todos los proveedores de navegadores hacen sus motores Javascript basados ​​en núcleo ECMAscript (estándar)

Por ejemplo, Google Chrome utiliza el motor V8 y este es de código abierto. Puede descargarlo y ver cómo el programa C++ traduce un comando 'imprimir' de Javascript a un código de máquina.

Internet Explorer usa el motor JScript (Chakra) para su navegador y otros lo hacen y todos usan núcleo común.

Cuestiones relacionadas