我怎么知道我正在使用哪个版本的Javascript?


Answers:


42

Wikipedia(或更确切地说,Wikipedia 的社区)在此处保留了相当不错的最新列表

  • 大多数浏览器均使用1.5(尽管它们具有更高版本的功能)
  • Mozilla会随每个点发布而发展(它们保持标准,因此不足为奇)
  • Firefox 4在JavaScript 1.8.5上
  • IE9是另一个比较老套的途径,它实现了ECMAScript 5,但是没有实现JavaScript 1.8.5的所有功能(不确定他们使用的是什么版本的JScript,引擎代号为Chakra, )。

3
Firefox 4(JavaScript™1.8.5)和IE9(JScript 9)实现了许多ECMAScript 5功能,但请考虑例如JavaScript™1.8,其中充满非标准功能,这些功能在IE9上不可用。 (并且它们不是ES5规范的一部分。),它们是Mozilla扩展名
CMS 2010年

@CMS-关于未实现的优缺点,鉴于此已冒顶,因此尝试对上述内容进行改进。
尼克·克拉弗

2
谢谢,IMO是强调它的重要点,即JScript!== JavaScript(TM)以及Mozilla的JS版本号对其他实现几乎没有意义……
CMS

1
值得一提的是,维基百科的“相当不错的最新列表”似乎在提供此答案的那一刻就停止了。自2010年以来似乎没有更新过……
NetXpert

82

单击此链接以查看您的浏览器正在使用哪个版本:http : //jsfiddle.net/Ac6CT/

您应该能够通过对每个JS版本使用脚本标签进行过滤。

<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>

我的Chrome报告 1.7

明显是从以下网址偷来的:http : //javascript.about.com/library/bljver.htm


5
那次发行又如何呢?例如1.8.1、1.8.2、1.8.3 ...您会发现这将变得乏味。
尼克·克拉弗

12
使用功能检测会更好。
jwueller

2
1.8.1例如增加了本机JSON支持,1.8.5达到了ECMAScript 5合规性……这是重要的里程碑:)
Nick Craver

3
因此,这告诉我Chrome为1.7,但具有本机JSON支持。这个问题的正确答案可能不仅仅是浏览器中的javascript版本不一定表示非常有用的信息。
亚历克斯·韦恩

1
Mozilla的支持JavaScript高达1.8版本,但语法是不同的:<script type="application/javascript;version=1.7"/>
Yukulélé

17

在chrome中,您不仅可以轻松找到JS版本,还可以轻松找到Flash版本。您所需要的只是chrome://version/在命令行中键入内容,您将获得如下内容:

在此处输入图片说明


9
哈哈!那不是JS版本,而是V8引擎的版本号。同样,今天,在2015年,他们已选择眨眼作为其引擎
Christian M. Raymonds,2015年

@ ChristianM.Raymonds然后为什么我的chrome v 46.0.2490.86在2015年11月仍然显示V8 4.6.85.31
萨尔瓦多·达利

@Savador Dali OP正在询问有关JS版本的信息-阅读引擎可理解的JavaScript语言版本,而不是引擎的版本。大于Chrome 28的任何东西都使用Blink。请做你的研究。
Christian M. Raymonds 2015年

1
@ SalvadorDali-这是V8引擎(Javascript引擎)的版本,而不是Javascript版本。
nanosoft's

4
@ ChristianM.Raymonds-Blink和V8是两个非常不同的东西。V8是JS引擎,Blink是Web引擎,Chrome会同时使用两者。它们是两个单独的引擎,可用于两种截然不同的事物,并且一种用法的使用绝不相互排斥。
nanosoft's

6

您可以将问题改写为“我的浏览器的JavaScript / JSscript引擎符合哪个ECMA脚本版本”,而不是查找正在使用的版本。

对于IE:

alert(@_jscript_version);      //IE

对于非IE版本,请参考Squeegy的答案:)


3
Squeegy是否更改了用户名或删除了他/她的答案?这里没有来自名为Squeegy的用户的答案。
彼得·汉森

@PeterHansen:糟糕,应该链接到答案了:)
Robin Maben

浏览器只能部分执行此操作,您可能会发现ES6的97%,ES7的39%,kangax.github.io/compat-table/es6,甚至这些表也不是很正确。
prosti

这仅在Conditional Compilation打开的情况下有效,如果您拥有相信“面包屑”安全性的
SysAdmin

1

当今所有的浏览器都至少使用以下版本1.5http :
//en.wikipedia.org/wiki/ECMAScript#Dialect

关于您的教程站点,那里的信息似乎已经过时了您转到MDC并阅读其指南:https :
//developer.mozilla.org/en/JavaScript/Guide

您可能仍要提防需要版本1.6或更高版本的功能,因为这可能会给Internet Explorer带来一些麻烦。


“您的浏览器已过时。请更新到新的浏览器。” ...在此处列出浏览器...
1.21吉瓦(

0

JavaScript 1.2是在1997年随Netscape Navigator 4引入的。该版本号仅对Netscape浏览器有意义。例如,Microsoft的实现(在Internet Explorer中使用)称为JScript,并且具有自己的版本编号,该版本编号与Netscape的编号无关。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.