Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
了解Javascript版本_Javascript_Browser - Fatal编程技术网

了解Javascript版本

了解Javascript版本,javascript,browser,Javascript,Browser,我想问几个关于javascript的问题: 1.每个浏览器是否单独实现javascript?或者它们是一个通用的SDK\API或其他什么 2.如果每个浏览器单独实现,javascript引擎是否绑定到浏览器版本 我的意思是,我可以为同一个浏览器版本使用两个不同的引擎吗 3.是否有所有javascript引擎必须遵循的标准?这个标准定义内存吗 分配?(比如,如何分配javascript字符串?) 最后, 每个浏览器的实现名称是什么?例如,我知道FirFox使用 实现名为“Rhino”,对吗 非常感

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

1.每个浏览器是否单独实现javascript?或者它们是一个通用的SDK\API或其他什么

2.如果每个浏览器单独实现,javascript引擎是否绑定到浏览器版本

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

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

分配?(比如,如何分配javascript字符串?)

最后,

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

实现名为“Rhino”,对吗

非常感谢!
Michael

每个浏览器都实现了自己的JS版本。因此,为什么有些浏览器的性能优于其他浏览器。关于JS应该做什么以及如何做的规范是基于
ECMAScript
规范的。我见过的唯一一个拥有多个引擎(或引擎版本)的例子是IE的web开发工具栏,在那里你可以“回滚”你的IE版本来测试以前版本的反应。我发现JS引擎在进行浏览器版本测试时非常可靠


Wiki对不同的引擎有很好的描述

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

但是,并非所有功能都在所有浏览器和浏览器版本中实现,有些功能有其特定于浏览器的怪癖

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

在同一个浏览器中(通常)不会提供两个不同的JavaScript引擎

  • 是的,他们自己实现JavaScript
  • 是,它绑定到浏览器版本。不,同一浏览器版本不能有两个不同的引擎。不过,您可以为不同的浏览器版本提供支持
  • 是的,它叫。大多数实现都很好地遵循它
  • FireFox不使用Rhino。Mozilla开发了它,但在FireFox中的实现是不同的。所有浏览器都实现单线程JavaScript,而Rhino不是单线程的