2

我想问一些关于javascript的问题:

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

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

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

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

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

最后,

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

实施称为“犀牛”,对吗?

非常感谢 !迈克尔

4

3 回答 3

1

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

Wiki 对不同的引擎有很好的描述。http://en.wikipedia.org/wiki/JavaScript_engine#Mozilla

于 2012-11-19T16:52:36.440 回答
1

JavaScript 通过大多数浏览器将遵守的 ECMAScript 规范进行标准化。

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

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

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

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

于 2012-11-19T16:52:48.873 回答
1
  1. 是的,他们自己实现了 JavaScript。
  2. 是的,它绑定到浏览器版本。不,同一浏览器版本不能有 2 个不同的引擎。您可以使用不同的浏览器版本。
  3. 是的,它被称为EcmaScript。大多数实现都很好地遵循它。
  4. FireFox 不使用 Rhino。Mozilla 开发了它,但在 FireFox 中的实现有所不同。所有浏览器都实现了单线程 JavaScript,而 Rhino 不是单线程的。
于 2012-11-19T16:54:30.587 回答