JScript

Jscript
Jscript icon.gif
Entwickler Microsoft
Erstmals erschienen 1996; Vor 26 Jahren
Stabile Version
9.0 / März 2011
Disziplin tippen Dynamisch, schwach, Ente
OS Microsoft Windows
Dateiname -Erweiterungen .js, .jse, .wsf, .wsc (.htm, .html, .hta, .asp)[1]
Webseite msdn.Microsoft.com/Bibliothek/hbxc2t98.aspx
Haupt Implementierungen
Aktives Schreiben, Jscript .net

Jscript ist Microsoft Erbe[2] Dialekt der ECMaskript Standard[3] das wird in verwendet Microsoft's Internet Explorer 11 und älter.

Jscript wird als implementiert Aktives Schreiben Motor. Dies bedeutet, dass es "angeschlossen" werden kann Oale Automatisierung Anwendungen, die aktives Skripting unterstützen, z. Internet Explorer, Aktive Server-Seiten, und Windows -Skript -Host.[4] Dies bedeutet auch, dass solche Anwendungen mehrere aktive Skriptsprachen verwenden können, z. B. Jscript, Vbscript oder Perlscript.

Jscript wurde zuerst in der unterstützt Internet Explorer 3.0 Browser veröffentlicht im August 1996. Die jüngste Version ist Jscript 9.0, enthalten im Internet Explorer 9.

Jscript 10.0[5] ist ein separater Dialekt, auch bekannt als Jscript .net, was mehrere neue Funktionen aus der aufgegebenen vierten Ausgabe des ECMascript -Standards hinzufügt. Es muss zusammengestellt werden für .NET Framework Version 2 oder Version 4, aber statische Anmerkungen vom Typ sind optional.

Jscript wurde dafür kritisiert, dass er unsicher und mehrere Sicherheitsfehler "von Akteuren des Nationalstaates" ausgebeutet wurde.[6] Microsoft führt dazu, eine Option hinzuzufügen, um sie zu deaktivieren.[7]

Vergleich zu JavaScript

Wie erklärt Douglas Crockford in seinem Vortrag mit dem Titel " Die JavaScript -Programmiersprache im Yui Theatre,

[Microsoft] wollte sich nicht umgehen Sun Microsystems Über das Markenproblem, und so berufen sie ihre Implementierung Jscript. Viele Leute denken, dass Jscript und JavaScript unterschiedliche, aber ähnliche Sprachen sind. Das ist nicht der Fall. Sie sind nur unterschiedliche Namen für dieselbe Sprache, und der Grund, warum die Namen unterschiedlich sind, bestand darin, Markenprobleme zu umgehen.[8]

Jscript unterstützt jedoch Bedingte Zusammenstellung, was es einem Programmierer ermöglicht, Code in innerhalb selektiv auszuführen Block Kommentare. Dies ist eine Erweiterung der ECMaskript Standard, der in anderen JavaScript -Implementierungen nicht unterstützt wird, wodurch die obige Aussage nicht vollständig wahr wird, obwohl die bedingte Zusammenstellung im Standards -Standardmodus des Internet Explorer 11 nicht mehr unterstützt wird.

Andere interne Implementierungsunterschiede zwischen JavaScript und Jscript sind zu einem bestimmten Zeitpunkt auf der Microsoft Developer Network (MSDN).[9] Der Standardwert des Skriptelements im Internet Explorer ist zwar JavaScript, während Jscript sein Alias ​​war.[10] In einem offensichtlichen Übergang von Jscript zu JavaScript, Online, bezeichnet der Microsoft Edge Developer -Handbuch die Mozilla MDN Web Reference Library als endgültige Dokumentation.[11] Seit Oktober 2017 werden auch Microsoft MSDN -Seiten zum Skript im Internet Explorer umgeleitet.[12] Diese Informationen enthalten möglicherweise nicht jscript -spezifische Objekte wie Enumerator, die in der JavaScript -Sprachreferenz auf Microsoft -Dokumenten aufgeführt sind.[13] Diese bieten zusätzliche Funktionen, die nicht in den ECMA -Standards enthalten sind, unabhängig davon, ob sie in der unterstützt werden Randbrowser oder sein Vorgänger.[14]

Versionen

Jscript (Com Classic)[15]

Das ursprüngliche Jscript ist ein Aktives Schreiben Motor. Wie andere aktive Skriptsprachen basiert es auf dem COM/OLE -Automatisierung Plattform und bietet Skriptfunktionen für Host -Anwendungen.

Dies ist die Version, die beim Hosting von JScript in einer Webseite verwendet wird, die von angezeigt wird Internet Explorer, in einem (n HTML -Anwendung Vor Dh9sowie in Klassischer ASP, Windows -Skript -Host Skripte und andere Automatisierung Umgebungen.

Jscript wird manchmal als "klassisches jscript" oder "aktives scripting jscript" bezeichnet, um es von neueren .NET-basierten Versionen zu unterscheiden.

Einige Versionen von JScript sind für mehrere Versionen von Internet Explorer und Windows verfügbar. Zum Beispiel wurde Jscript 5.7 mit eingeführt mit Internet Explorer 7.0 und ist auch installiert für Internet Explorer 6.0 mit Windows XP Service Pack 3, während Jscript 5.8 mit eingeführt wurde Internet Explorer 8.0 und ist auch mit Internet Explorer 6.0 installiert Windows Mobile 6.5.

Microsoft -Implementierung von ECMascript 5. Ausgabe in Windows 8 -Verbrauchervorschau wird genannt JavaScript und das entsprechende Visual Studio 11 Express Beta enthält einen „völlig neuen“ JavaScript-Editor mit vollem Funktionsumfang mit Intellisense Verbesserungen für HTML5 und ECMascript 5 Syntax, „VSDOC“ -Notationen für mehrere Überladungen, vereinfacht Dom Konfiguration, Klammerabstimmung, zusammenklappbares Umriss und „Gehen Sie zur Definition“.[16]

Ausführung Datum Eingeführt mit[17] Bezogen auf[Anmerkung 1] Ähnlich JavaScript Ausführung
1.0 August 1996 Internet Explorer 3.0 Netscape JavaScript 1.0
2.0 Januar 1997 Windows iis 3.0 Netscape JavaScript 1.1
3.0 Okt 1997 Internet Explorer 4.0 ECMA-262 1. Ausgabe[Anmerkung 2] 1.3
4.0 Visual Studio 6.0 (als Teil von Visueller Interdev)) ECMA-262 1. Ausgabe 1.3
5.0 März 1999 Internet Explorer 5.0 ECMA-262 2. Auflage 1.4
5.1 Internet Explorer 5.01 ECMA-262 2. Auflage 1.4
5.5 Jul 2000 Internet Explorer 5.5 & Windows CE 4.2 ECMA-262 3. Auflage 1.5
5.6 Okt 2001 Internet Explorer 6.0 & Windows CE 5.0 ECMA-262 3. Auflage 1.5
5.7 November 2006 Internet Explorer 7.0 ECMA-262 3. Auflage + ECMA-327 (ES-CP)[Notiz 3] 1.5
5.8 März 2009 Internet Explorer 8.0 & Internet Explorer Mobile 6.0 ECMA-262 3. Auflage + ECMA-327 (ES-CP) + + JSON (RFC 4627)3 1.5

Jscript ist auch unter Windows CE verfügbar (in Windows Mobile enthalten, optional in Windows Embedded CE). Der Windows CE -Version fehlt aktives Debugging.

Verwaltet Jscript

Managed Jscript ist eine Implementierung von Jscript für die Dynamische SprachlaufzeitEs ist Teil der dynamischen Sprachen von Microsoft für .NET zusammen mit Ironruby, Ironpython, und Dynamisches visuelles Basic. Im Gegensatz zu Jscript .NET, was weniger dynamisch ist als das ursprüngliche Jscript, bietet aber Cls Kompatibilität, Managed Jscript ist über dem konzipiert DLR und bietet die Funktionen für Skriptszenarien.

Während es hauptsächlich für die Verwendung in Silverlight und ASP.NET zu diesem Zeitpunkt ausgelegt ist, kann es auch problemlos in eine .NET -Anwendung eingebettet werden.

(Quelle: Jscript -Blog, Jim Hugunins Denke dynamischer Blog, Quelle: Blog von JITU))

Es gibt zwei Builds von Managed Jscript, einer für den Desktop CLR und eine für die Silberlicht Coreclr

Ausführung Datum Eingeführt mit Bezogen auf Plattform
1.0.0.0 2007 ASP.NET Futures (Juli 2007 Vorschau) ECMA-262 3. Auflage Desktop CLR 2.0
1.1.20625.0 2007 Microsoft Silverlight 1.1 Alpha (Aktualisierung von September 2007) ECMA-262 3. Auflage Coreclr 1.1

Managed Jscript wird in der nicht unterstützt .NET Compact Framework.

(Quelle: Dateienversionen von microsoft.jscript.runtime.dll in ASP.NET -Futures und Silverlight 1.1 -Ordnern)

Jscript "Chakra" (JSRT)[20]

Jscript "Chakra" basiert auf der JScript (COM Classic) -Version, wurde jedoch neu gestaltet, um die Leistung in der Leistung zu verbessern Internet Explorer 9 Auf Kosten der richtigen aktiven Skriptmotorkompatibilität. Es erfordert eine spezifische Microsoft JavaScript -Hosting (JSRT) -API zur ordnungsgemäßen Verwendung. Daher wird es neben Jscript 5.x installiert und nur von verwendet von Internet Explorer 9 und später ebenso wie JSRT -Hosts, während andere aktive Skripthosts die 5.x -Version verwenden, wenn sie die JScript -Engine anfordern.

Ausführung Datum Eingeführt mit[21] Bezogen auf[22] Ähnlich JavaScript Ausführung
Chakra 9.0 März 2011 Internet Explorer 9.0 ECMA-262 5. Auflage 1.8.1
Chakra 10.0 September 2012 Internet Explorer 10.0 ECMA-262 5.1 Edition
Chakra 11.0 Okt. 2013 Internet Explorer 11.0 ECMA-262 6. Ausgabe
Chakra -Rand Jul 2015 Rand / Windows 10 ECMA-262 5.1 bis 9 (2018) Ausgabe

(ohne Engine -Versioning auf dem neuesten Stand)

Es gibt zwei Versionen des Chakra -Motors, das ursprüngliche von verwendet von Internet Explorer 9 und später und manchmal als "Jscript9.dll" oder "Legacy Chakra Engine" bezeichnet und als zweite von einem verwendet von Microsoft Edge Browser und manchmal als "neuer Chakra -Motor", "Edge Engine" oder "Chakra.dll" bezeichnet. Beide Chakra -Versionen können von anderen Anwendungen mit der JSRT -API verwendet und nebeneinander installiert werden.[23]

Siehe separate Seite über neuer Chakra (Rand) Motor.

Jscript .net (CLI)

Jscript .net ist a Microsoft .net Implementierung von Jscript. Es ist ein Cli Sprache und so erbt sehr leistungsstarke Merkmale, aber es fehlen viele Merkmale der ursprünglichen Jscript -Sprache, was es für viele Skriptszenarien unangemessen macht. Jscript .net kann für verwendet werden ASP.NET Seiten und für vollständige .NET -Anwendungen, aber der mangelnde Unterstützung für diese Sprache in Microsoft Visual Studio legt sie eher als Upgrade -Pfad für klassisch ASP Verwenden von klassischem JScript als als neue erstklassige Sprache.

Ausführung Plattform Datum Eingeführt mit Bezogen auf
7.0 Desktop CLR 1.0 2002-01-05 Microsoft NET Framework 1.0 ECMA-262 3. Auflage[Anmerkung 4]
7.1 Desktop CLR 1.1 2003-04-01 Microsoft NET Framework 1.1 ECMA-262 3. Auflage[Anmerkung 4]
8.0 Desktop CLR 2.0 2005-11-07 Microsoft NET Framework 2.0 ECMA-262 3. Auflage[Anmerkung 4]
10.0 Desktop CLR 4.0 2010-08-03 Microsoft NET Framework 4.0 ECMA-262 3. Auflage[Anmerkung 4]

Jscript .net wird in der nicht unterstützt .NET Compact Framework.

Hinweis: Jscript .NET -Versionen beziehen sich nicht mit klassischen JScript -Versionen. Jscript .net ist ein separates Produkt. Obwohl Jscript .NET innerhalb der Visual Studio IDE nicht unterstützt wird, sind seine Versionen mit anderen .NET -Sprachenversionen synchronisiert (Versionen (NEHMEC#, Vb.net, VC ++) die ihren entsprechenden Visual Studio -Versionen folgen.

.NET Framework 3.0 und 3.5 sind auf 2.0 aufgebaut und enthalten nicht die neuere Jscript.NET -Version (Version 10.0 für .NET Framework 4.0).

(Quelle: Dateiversion von jsc.exe jscript.net Compiler und Microsoft.jscript.dll mit .NET Framework installiert)

Siehe auch

Anmerkungen

  1. ^ Jscript unterstützt verschiedene Funktionen, die im ECMA -Standard nicht angegeben sind.[18] ebenso wie JavaScript.
  2. ^ Laut Microsoft war Jscript 3.0 "die erste Skriptsprache, die dem ECMA-262-Standard vollständig entspricht".[19]
  3. ^ Jscript 5.7 enthält eine Implementierung des ECMAScript-Kompaktprofils (ECMA-327), das die von der ES-CP nicht erforderlichen Funktionen ausschaltet, wenn sie das Progid "jscript.comPact" verwendet.
  4. ^ a b c d Jscript .NET wird "in Verbindung mit der ECMAScript Edition 4 entwickelt".[24]

Verweise

  1. ^ "Arten von Skriptdateien". Msdn.microsoft.com. Abgerufen 2012-08-17.
  2. ^ "Deaktivieren von Legacy Scripting Engine Jscript im Internet Explorer". TechCommunity.microsoft.com. 2020-10-13. Abgerufen 2021-11-15.
  3. ^ "Jscript (ECMascript3)". Msdn.microsoft.com. Abgerufen 2012-08-17.
  4. ^ "Was ist WSH?". Msdn.microsoft.com. Abgerufen 2012-08-17.
  5. ^ Was ist Jscript 10.0?
  6. ^ Cimpanu, Catalin. "Microsoft fügt die Option hinzu, Jscript im Internet Explorer zu deaktivieren". ZDNET. Abgerufen 2021-11-15.
  7. ^ "Option zum Deaktivieren der JScript -Ausführung im Internet Explorer". Support.microsoft.com. Abgerufen 2021-11-15.
  8. ^ Douglas Crockford, Die JavaScript -Programmiersprache
  9. ^ "Die Welt von Jscript, JavaScript, ECMascript". Blogs.msdn.microsoft.com. Abgerufen 2017-10-21.
  10. ^ "Skriptelement". Msdn.microsoft.com. Abgerufen 2017-10-16.
  11. ^ "Microsoft-Edge Dev-Guide". Docs.microsoft.com. Abgerufen 2017-10-18.
  12. ^ "Gemeinsam das Web dokumentieren". Blogs.windows.com. Abgerufen 2017-10-18.
  13. ^ "JavaScript Language Reference (Microsoft Docs)". Docs.microsoft.com. Abgerufen 2017-10-18.
  14. ^ "JavaScript -Objekte (Microsoft Docs)". Docs.microsoft.com. Abgerufen 2017-10-18.
  15. ^ Lakshman, Pratap. "Jscript -Abweichungen von ES3" (PDF). Das Register. Situation Publishing / Microsoft. Abgerufen 9. Februar 2020.
  16. ^ "Was ist neu in ASP.NET 4.5 und Visual Web Developer 11 Beta: Die offizielle Microsoft ASP.NET -Website".
    "Was ist neu für ASP.NET 4.5 und Webentwicklung in Visual Studio 11 Beta".
  17. ^ Versionsinformationen (Windows Scripting - Jscript), Microsoft, abgerufen 2010-05-31
  18. ^ Microsoft JScript-Funktionen-Nicht-ECMA (Windows Scripting-JScript), Microsoft, abgerufen 2010-05-31
  19. ^ Microsoft umfasst ECMA Internet Scripting Standard; Liefert die erste ECMA-konforme Skriptsprache der Branche, Jscript 3.0, in wichtigen Microsoft-Produkten, Microsoft, 1997-06-30, archiviert aus das Original am 2009-01-12
  20. ^ Niyogi, Shanku. "Die neue JavaScript -Engine in Internet Explorer 9". Ieblog (Archive). Microsoft. Abgerufen 19. Februar 2020.
  21. ^ Versionsinformationen (Windows Scripting - Jscript), Microsoft, abgerufen 2010-05-31
  22. ^ "Internet Explorer Standards unterstützen Dokumente". Geöffnete Spezifikationen (Microsoft Docs). Microsoft. Abgerufen 19. Februar 2020.
  23. ^ "Microsoft Edge vs. Legacy -Engines in JSRT -APIs abzielen". Microsoft Edge -Dokumentation (Microsoft Docs). Microsoft. Abgerufen 19. Februar 2020.
  24. ^ Was ist jscript .net?, Microsoft

Externe Links