【问题标题】:How do I know which version of Javascript I'm using?我如何知道我使用的是哪个版本的 Javascript?
【发布时间】:2011-05-15 08:49:54
【问题描述】:

我只是在阅读有关 Javascript 1.2 的文档,但我想知道最流行的浏览器正在使用哪个版本的 Javascript。

http://www.tutorialspoint.com/javascript/javascript_nested_functions.htm

【问题讨论】:

标签: javascript version version-detection


【解决方案1】:

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

关于您的教程网站,那里的信息似乎非常过时我请求您前往 MDC 并阅读他们的指南:
https://developer.mozilla.org/en/JavaScript/Guide

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

【讨论】:

  • "您的浏览器已过时。请更新到新的浏览器。" ...在此处列出浏览器...
【解决方案2】:

Wikipedia(或者更确切地说,社区on Wikipedia)保留pretty good up-to-date list here

  • 大多数浏览器都使用 1.5(尽管它们具有更高版本的功能)
  • Mozilla 会随着每个 dot 版本的发布而进步(他们保持标准,所以这不足为奇)
  • Firefox 4 基于 JavaScript 1.8.5
  • 另一个大行其道的是 IE9 - 它实现了 ECMAScript 5,但没有实现 JavaScript 1.8.5 的所有功能(不知道他们称这个版本的 JScript 是什么,引擎代号Chakra,但是)。

【讨论】:

  • Firefox 4 (JavaScript(TM) 1.8.5) 和 IE9 (JScript 9) 实现了很多 ECMAScript 5 功能,但考虑例如 JavaScript(TM) 1.8,是 完整的 非标准 功能,在 IE9 上不可用(并且它们不是 ES5 规范的一部分。),它们是 Mozilla 扩展 i>.
  • @CMS - 关于它没有实现的位的极好点,鉴于这已经冒泡到顶部,试图改进上述内容。
  • 谢谢,IMO 很重要的一点是要强调 JScript !== JavaScript(TM) 并且 Mozilla 的 JS 版本号对其他实现几乎没有意义...
  • 对于它的价值,似乎维基百科的“相当好的最新列表”在提供这个答案的时候停止了。它似乎自 2010 年以来就没有更新过……
【解决方案3】:

JavaScript 1.2 于 1997 年随 Netscape Navigator 4 一起推出。该版本号只对 Netscape 浏览器有意义。例如,Microsoft 的实现(在 Internet Explorer 中使用)称为 JScript,它有自己的版本编号,与 Netscape 的编号无关。

【讨论】:

    【解决方案4】:

    点击此链接查看您的浏览器使用的版本: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

    【讨论】:

    • 次要版本呢?例如1.8.1、1.8.2、1.8.3...你知道这会变得多么乏味。
    • 使用特征检测会更好。
    • 1.8.1 例如添加了原生 JSON 支持,1.8.5 符合 ECMAScript 5 标准...这些都是重要的里程碑 :)
    • 所以这告诉我 Chrome 是 1.7,但有原生 JSON 支持。也许这个问题的正确答案更多的是浏览器中的 javascript 版本并不一定表示非常有用的信息。
    • Mozilla 支持 javascript 至 1.8 版,但语法不同:&lt;script type="application/javascript;version=1.7"/&gt;
    【解决方案5】:

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

    对于 IE:

    alert(@_jscript_version);      //IE
    

    请参考 Squeegy 对非 IE 版本的回答 :)

    【讨论】:

    • Squeegy 是否更改了用户名或删除了他/她的答案?这里没有来自名为 Squeegy 的用户的答案。
    • @PeterHansen:糟糕,应该链接到答案:)
    • 而浏览器只是部分做到了这一点,你可能会发现 97% 的 ES6、39% 的 ES7、kangax.github.io/compat-table/es6,甚至这些表也不完全正确。
    • 这仅在 Conditional Compilation 开启时有效,因此如果您的系统管理员相信“面包屑”安全性,则可能无法 100% 工作
    【解决方案6】:

    在 chrome 中,您不仅可以轻松找到 JS 版本,还可以轻松找到 flash 版本。您只需在命令行中输入chrome://version/,您将得到如下信息:

    【讨论】:

    • 哈哈!那不是 JS 版本,而是 V8 引擎的版本号。此外,今天,在 2015 年,他们已将 Blink 作为首选引擎
    • @ChristianM.Raymonds 那么为什么我在 2015 年 11 月的 chrome v46.0.2490.86 仍然显示 V8 4.6.85.31
    • @Savador Dali OP 在询问 JS 版本 - 阅读引擎理解的 JavaScript 语言版本,而不是引擎的版本。任何高于 Chrome 28 的版本都使用 Blink。请做你的研究。
    • @SalvadorDali- 这是 V8 引擎(一个 Javascript 引擎)的版本,而不是 Javascript 版本。
    • @ChristianM.Raymonds - Blink 和 V8 是两个非常不同的东西。 V8 是 JS 引擎,Blink 是 Web 引擎,Chrome 两者都用。它们是两个独立的引擎,用于两种截然不同的事物,一个的使用不会以任何方式与另一个相互排斥。
    猜你喜欢
    • 1970-01-01
    • 2017-10-09
    • 1970-01-01
    • 2020-07-26
    • 1970-01-01
    • 1970-01-01
    • 2021-08-24
    • 2013-05-26
    • 2013-10-25
    相关资源
    最近更新 更多