Was ist der Unterschied zwischen JavaScript und JScript?


117

Ich habe mich immer gefragt, was der HecK ist?!? ist der Unterschied zwischen JScript und JavaScript.


Ich bin sicher, es wurde bereits darauf hingewiesen, aber IE, Sie können kein constSchlüsselwort verwenden, um Variablen zu deklarieren: const MY_CONSTANT = 10;
Dplante

Antworten:


82

Nur verschiedene Namen für das, was wirklich ECMAScript ist. John Resig hat eine gute Erklärung .

Hier ist die Vollversion:

  • IE 6-7 unterstützen JScript 5 (entspricht ECMAScript 3, JavaScript 1.5)
  • IE 8 unterstützt JScript 6 (entspricht ECMAScript 3, JavaScript 1.5 - mehr Fehlerbehebungen gegenüber JScript 5)
  • Firefox 1.0 unterstützt JavaScript 1.5 (ECMAScript 3-Äquivalent)
  • Firefox 1.5 unterstützt JavaScript 1.6 (1.5 + Array Extras + E4X + Sonstiges).
  • Firefox 2.0 unterstützt JavaScript 1.7 (1.6 + Generator + Iteratoren + let + misc.)
  • Firefox 3.0 unterstützt JavaScript 1.8 (1.7 + Generatorausdrücke + Ausdrucksschließungen + Sonstiges).
  • Die nächste Version von Firefox unterstützt JavaScript 1.9 (1.8 + noch festzulegen)
  • Opera unterstützt eine Sprache, die ECMAScript 3 + Getters and Setters + misc entspricht.
  • Safari unterstützt eine Sprache, die ECMAScript 3 + Getters and Setters + Sonstiges entspricht.

15
Das ist falsch. JScript unterstützt einige Syntaxfunktionen, die in JavaScript nicht vorhanden sind, einschließlich f(x) = y. Weitere Informationen finden Sie in dieser Frage .
Asad Saeeduddin

4
@ Malachi brauche ich nicht. Patricks Antwort ist richtig.
Asad Saeeduddin

38

Soweit ich das beurteilen kann, zwei Dinge:

  1. ActiveXObject-Konstruktor
  2. Das Idiom f (x) = y, das ungefähr f [x] = y entspricht.

5
Die f(x) = yRedewendung nervt mich am meisten! Warum, oh warum gingen sie nicht einfach mit f[x] = y...
Ates Goral

2
MS mussten in dieser Zeit ihren Stempel aufdrücken. So weißt du, dass es gut ist.
Cchamberlain

21

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

JScript ist der Microsoft-Dialekt der ECMAScript-Skriptsprachenspezifikation.

JavaScript (die Netscape / Mozilla-Implementierung der ECMA-Spezifikation), JScript und ECMAScript sind sehr ähnliche Sprachen. Tatsächlich wird der Name "JavaScript" häufig verwendet, um auf ECMAScript oder JScript zu verweisen.

Microsoft verwendet den Namen JScript für seine Implementierung, um Markenprobleme zu vermeiden ( JavaScript ist eine Marke der Oracle Corporation ).


7
Dies beantwortet die Frage überhaupt nicht. Die Frage ist: "Was sind die Unterschiede zwischen JavaScript und JScript". Die richtige Antwort wird unter mehreren Wiederholungen derselben Sache begraben.
Asad Saeeduddin

7

JScript ist die Implementierung der ECMAScript-Spezifikation durch Microsoft. JavaScript ist die Mozilla-Implementierung der Spezifikation.


7

Javascript, die Sprache, kam zuerst von Netscape.

Microsoft hat Javascript rückentwickelt und als JScript bezeichnet, um Markenprobleme mit Sun zu vermeiden. (Netscape und Sun waren zu dieser Zeit eine Partnerschaft eingegangen, daher war dies weniger ein Problem.)

Die Sprachen sind identisch, beide sind Dialekte der ECMA-Schrift, dem After-the-Fact-Standard.

Obwohl die Sprachen identisch sind, hat JScript, da es in Internet Explorer ausgeführt wird, Zugriff auf verschiedene Objekte, die vom Browser verfügbar gemacht werden (z. B. ActiveXObject).


10
Weder die Sprachen sind wirklich identisch, wie in einem anderen Beitrag beschrieben.
EFraim


4

Nach diesem Artikel:

  • JavaScript ist eine von Netscape Communications entwickelte Skriptsprache für die Entwicklung von Client- und Server-Internetanwendungen. Netscape Navigator dient zur Interpretation von in Webseiten eingebettetem JavaScript. JavaScript ist unabhängig von der Java-Sprache von Sun Microsystem.

  • Microsoft JScript ist eine offene Implementierung von Netscape JavaScript. JScript ist eine leistungsstarke Skriptsprache, mit der aktive Online-Inhalte für das World Wide Web erstellt werden können. Mit JScript können Entwickler eine Vielzahl von Objekten auf Webseiten verknüpfen und automatisieren, einschließlich ActiveX-Steuerelementen und Java-Programmen. Microsoft Internet Explorer dient zur Interpretation von in Webseiten eingebettetem JScript.


2
@phrj: Dies ist die Humpty Dumpty-Definition von "Open". AFAIK bedeutet "orthogonal".
Shog9

7
Wenn man JScript in der Zeit vor V8 als "Hochleistung" bezeichnet, merkt man, wie weit wir gekommen sind.
Ray Toal

6
Das zweite Listenelement sieht aus wie Werbematerial - "offene Implementierung" bedeutet eigentlich "Sie müssen offen sein, um es zu akzeptieren", und "Hochleistung" bedeutet "soll auf einer Hochleistungsmaschine ausgeführt werden".
Camilo Martin

4

Vor langer Zeit haben alle Browser-Anbieter JavaScript-Engines für ihre Browser entwickelt, und nur sie und Gott wussten, was darin vor sich ging. Eines schönen Tages kam ECMA International und sagte: Lassen Sie uns Motoren nach gemeinsamen Standards herstellen, etwas Allgemeines machen, um das Leben einfacher und unterhaltsamer zu gestalten, und sie haben diesen Standard festgelegt. Da alle Browser-Anbieter ihre JavaScript-Engines auf ECMAScript-Kern (Standard) basieren.

Beispielsweise verwendet Google Chrome die V8-Engine und dies ist Open Source. Sie können es herunterladen und sehen, wie das C ++ - Programm einen Befehl 'print' von JavaScript in Maschinencode übersetzt.

Internet Explorer verwendet die JScript (Chakra) -Engine für ihren Browser und andere tun dies, und alle verwenden den gemeinsamen Kern.


2

Wikipedia hat dies über die Unterschiede zu sagen.

Im Allgemeinen ist JScript eine ActiveX-Skriptsprache, die von Nicht-IE-Browsern wahrscheinlich als JavaScript interpretiert wird.


1

Es sind einige Codeunterschiede zu beachten.

Ein negativer erster Parameter für subtr wird nicht unterstützt, z. B. in Javascript: "string".substr(-1)gibt "g" zurück, während in JScript: "string".substr(-1)"string" zurückgegeben wird.

Es ist möglich "string"[0], "s" in Javascript zu erhalten, aber JScript unterstützt ein solches Konstrukt nicht. (Tatsächlich scheinen nur moderne Browser das "string"[0]Konstrukt zu unterstützen .


-5

Jscript ist eine C # -ähnliche .NET-Sprache mit denselben Funktionen und demselben Zugriff auf alle .NET-Funktionen.

JavaScript wird auf dem ASP Classic-Server ausgeführt. Verwenden Sie Classic ASP, um dasselbe JavaScript auszuführen, das Sie auf dem Client haben (ausgenommen HTML5-Funktionen). Auf diese Weise habe ich für den größten Teil meines Codes nur einen Satz Code.

Ich führe .ASPX JScript aus, wenn ich Bild- und Binärdateifunktionen benötige (unter anderem), die nicht in Classic ASP enthalten sind. Dieser Code ist für den Server eindeutig, aber äußerst leistungsfähig.


7
Ich denke, Sie denken an JScript.Net
Lankymart

-7

JScript ist Microsoft ‚s - Äquivalent von JavaScript .
Java ist ein Oracle- Produkt und war früher ein Sun- Produkt.

Oracle hat Sun gekauft .

JavaScript + Microsoft = JScript


14
Schonen Sie den Mut!
Jowen

Warum Java? Du meintest JavaScript.
Stack0verflow

Ein wichtiger Hinweis für alle, die es vielleicht nicht wissen: JavaScript und Java sind nicht dasselbe oder in irgendeiner Weise verwandt. JavaScript hieß ursprünglich LiveScript. Aber umbenannt in JavaScript, um die Popularität von Java zu nutzen. Das Teilen des Namens ist das Ausmaß dessen, was sie gemeinsam haben, abgesehen von Ähnlichkeiten mit C-ähnlichen Syntaxsprachen.
Bacon Brad
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.