Woher weiß ich, welche Version von Javascript ich verwende?

Antworten:

42

Wikipedia (oder besser gesagt die Community auf Wikipedia) führt hier eine ziemlich aktuelle Liste .

  • Die meisten Browser sind auf 1.5 (obwohl sie Funktionen späterer Versionen haben)
  • Mozilla macht mit jeder Punktveröffentlichung Fortschritte (sie behalten den Standard bei, was nicht verwunderlich ist).
  • Firefox 4 ist unter JavaScript 1.8.5
  • Das andere große Problem ist IE9 - es implementiert ECMAScript 5, implementiert jedoch nicht alle Funktionen von JavaScript 1.8.5 (nicht sicher, wie diese Version von JScript mit dem Codenamen Chakra genannt wird) ).
Nick Craver
quelle
3
Firefox 4 (JavaScript (TM) 1.8.5) und IE9 (JScript 9) eine Menge implementieren ECMAScript 5 - Funktionen, aber bedenken Sie zum Beispiel JavaScript (TM) 1.8 , ist voll von Nicht-Standard - Features, die auf IE9 nicht verfügbar sind (und sie sind nicht Teil der ES5-Spezifikation.), sie sind Mozilla-Erweiterungen .
CMS
@CMS - ausgezeichneter Punkt auf den Bits, die es nicht implementiert, versucht, das oben Gesagte zu verbessern, da dies nach oben gesprudelt ist.
Nick Craver
2
Vielen Dank, IMO ist ein wichtiger Punkt, um zu betonen, dass JScript! == JavaScript (TM) und die JS-Versionsnummern von Mozilla für andere Implementierungen fast bedeutungslos sind ...
CMS
1
Für das, was es wert ist, scheint es, dass die "ziemlich gute aktuelle Liste" von Wikipedia zu der Zeit, als diese Antwort gegeben wurde, nicht mehr so ​​war. Es scheint seit ~ 2010 nicht mehr aktualisiert worden zu sein ...
NetXpert
81

Klicken Sie auf diesen Link, um zu sehen, welche Version Ihr BROWSER verwendet: http://jsfiddle.net/Ac6CT/

Sie sollten in der Lage sein, mithilfe von Skript-Tags für jede JS-Version zu filtern.

<script type="text/javascript">
  var jsver = 1.0;
</script>
<script language="Javascript1.1">
  jsver = 1.1;
</script>
<script language="Javascript1.2">
  jsver = 1.2;
</script>
<script language="Javascript1.3">
  jsver = 1.3;
</script>
<script language="Javascript1.4">
  jsver = 1.4;
</script>
<script language="Javascript1.5">
  jsver = 1.5;
</script>
<script language="Javascript1.6">
  jsver = 1.6;
</script>
<script language="Javascript1.7">
  jsver = 1.7;
</script>
<script language="Javascript1.8">
  jsver = 1.8;
</script>
<script language="Javascript1.9">
  jsver = 1.9;
</script>

<script type="text/javascript">
  alert(jsver);
</script>

Meine Chrome-Berichte 1.7

Offensichtlich gestohlen von: http://javascript.about.com/library/bljver.htm

Alex Wayne
quelle
5
Was ist mit kleineren Veröffentlichungen? zB 1.8.1, 1.8.2, 1.8.3 ... Sie sehen, wie langweilig dies werden würde.
Nick Craver
12
Sie sind besser dran, wenn Sie die Funktionserkennung verwenden.
Jwueller
2
1.8.1 zum Beispiel native JSONUnterstützung hinzugefügt , 1.8.5 entspricht der ECMAScript 5-Konformität ... dies sind wichtige Meilensteine ​​:)
Nick Craver
3
Dies sagte mir, dass Chrome 1.7 war, aber native JSON-Unterstützung hat. Vielleicht ist die richtige Antwort auf diese Frage eher, dass die Javascript-Version in einem Browser nicht unbedingt sehr nützliche Informationen enthält.
Alex Wayne
1
Mozilla unterstützt Javascript bis Version 1.8, aber die Syntax ist anders:<script type="application/javascript;version=1.7"/>
Yukulélé
17

In Chrome finden Sie nicht nur Ihre JS-Version, sondern auch eine Flash-Version. Sie müssen lediglich chrome://version/eine Befehlszeile eingeben und erhalten Folgendes:

Geben Sie hier die Bildbeschreibung ein

Salvador Dali
quelle
9
ha ha! Dies ist keine JS-Version, sondern die Versionsnummer für die V8-Engine. Auch heute, im Jahr 2015, sind sie zu Blink als Motor ihrer Wahl
Christian M. Raymonds
@ ChristianM.Raymonds Warum zeigt mein Chrome V 46.0.2490.86im November 2015 dann noch V8 4.6.85.31?
Salvador Dali
@ Savador Dali OP fragte nach der JS-Version - lesen Sie die JavaScript-Sprachversion, die von der Engine verstanden wird, und nicht die Version der Engine. Alles, was größer als Chrome 28 ist, verwendet Blink. Bitte recherchieren Sie.
Christian M. Raymonds
1
@ SalvadorDali - Das ist die Version der V8-Engine (eine Javascript-Engine) und NICHT der Javascript-Version.
Nanosoft
4
@ ChristianM.Raymonds - Blink und V8 sind zwei sehr unterschiedliche Dinge. V8 ist JS-Engine und Blink ist Web-Engine und Chrome verwendet beide. Sie sind zwei separate Motoren für zwei sehr unterschiedliche Dinge, und die Verwendung eines Motors schließt sich in keiner Weise gegenseitig aus.
Nanosoft
6

Anstatt herauszufinden, welche Version Sie verwenden, können Sie Ihre Frage in "Welche Version des ECMA-Skripts entspricht die JavaScript / JSscript-Engine meines Browsers?" Umformulieren.

Für IE:

alert(@_jscript_version);      //IE

Siehe Squeegys Antwort für Nicht-IE-Versionen :)

Robin Maben
quelle
3
Hat Squeegy den Benutzernamen geändert oder seine Antwort gelöscht? Es gibt hier keine Antworten von einem Benutzer namens Squeegy.
Peter Hansen
@ PeterHansen: Ups, sollte mit der Antwort verlinkt sein :)
Robin Maben
und Browser tun dies nur teilweise. Möglicherweise finden Sie 97% von ES6, 39% von ES7, kangax.github.io/compat-table/es6 , und selbst diese Tabellen sind nicht ganz richtig.
Prosti
Dies funktioniert nur Conditional Compilation, wenn es aktiviert ist. Wenn Sie über SysAdmin verfügen, das an die Sicherheit von "
Brotkrumen
1

Alle heutigen Browser verwenden mindestens die Version 1.5:
http://en.wikipedia.org/wiki/ECMAScript#Dialect

In Bezug auf Ihre Tutorial-Site scheinen die Informationen dort extrem veraltet zu sein . Ich bitte Sie, zu MDC zu gehen und deren Handbuch zu lesen:
https://developer.mozilla.org/en/JavaScript/Guide

Möglicherweise möchten Sie immer noch auf Funktionen achten, für die eine Version 1.6oder höher erforderlich ist , da dies Internet Explorer einige Probleme bereiten kann.

Ivo Wetzel
quelle
"Ihr Browser ist veraltet. Bitte aktualisieren Sie auf einen neuen Browser." ... Browser hier
auflisten
0

JavaScript 1.2 wurde 1997 mit Netscape Navigator 4 eingeführt. Diese Versionsnummer hatte immer nur für Netscape-Browser eine Bedeutung. Die Microsoft-Implementierung (wie sie in Internet Explorer verwendet wird) heißt beispielsweise JScript und verfügt über eine eigene Versionsnummerierung, die in keinem Zusammenhang mit der Nummerierung von Netscape steht.

NickFitz
quelle