【问题标题】:Understanding Javascript versions了解 Javascript 版本
【发布时间】:2012-11-19 16:49:54
【问题描述】:

我想问几个关于javascript的问题:

1.每个浏览器都自己实现javascript吗?还是它们是通用的 SDK\API 或其他什么?

2.如果每个浏览器都自己实现,javascript引擎是否与浏览器版本绑定?

我的意思是,我可以为同一个浏览器版本使用 2 个不同的引擎吗?

3.是否有所有javascript引擎必须遵循的标准?这个标准是否定义了内存

分配? (比方说,我如何分配一个 javascript 字符串?)

最后,

每个浏览器的实现名称是什么?例如,我了解 FirFox 使用

实现名为“Rhino”,对吗?

非常感谢! 迈克尔

【问题讨论】:

    标签: javascript browser


    【解决方案1】:
    1. 是的,他们自己实现 JavaScript。
    2. 是的,它绑定到浏览器版本。不,同一浏览器版本不能有 2 个不同的引擎。您可以使用不同的浏览器版本。
    3. 是的,它被称为EcmaScript。大多数实现都很好。
    4. FireFox 不使用 Rhino。 Mozilla 开发了它,但在 FireFox 中的实现有所不同。所有浏览器都实现了单线程 JavaScript,而 Rhino 不是单线程的。

    【讨论】:

      【解决方案2】:

      每个浏览器都实现了自己的 JS 版本。因此,为什么有些浏览器优于其他浏览器。他们对 JS 应该做什么以及应该如何做的规范是基于 ECMAScript 规范。我见过的拥有多个引擎(或引擎版本)的唯一情况是使用 IE 的 Web 开发工具栏,您可以在其中“回滚”您的 IE 版本以测试以前版本的反应。在进行浏览器版本测试时,我发现 JS 引擎非常忠实。

      Wiki 有一篇关于不同引擎的精彩文章。 http://en.wikipedia.org/wiki/JavaScript_engine#Mozilla

      【讨论】:

        【解决方案3】:

        JavaScript 通过 ECMAScript 规范进行标准化,大多数浏览器都会遵守该规范。

        但是,并非所有功能都在所有浏览器和浏览器版本中实现,并且某些功能有自己的浏览器特定怪癖。

        您可以在此处找到有关 ECMAScript 和浏览器实现的版本的更多详细信息:-

        http://en.wikipedia.org/wiki/ECMAScript

        您不会在同一个浏览器中获得两种不同的 JavaScript 引擎(通常)。

        【讨论】:

          猜你喜欢
          • 2012-09-14
          • 2016-05-25
          • 1970-01-01
          • 2019-11-08
          • 2018-01-06
          • 2017-06-26
          • 1970-01-01
          • 2022-06-28
          • 1970-01-01
          相关资源
          最近更新 更多