2012-11-19 46 views
2

我想问几个关于javascript的问题:了解Javascript版本

1.每个浏览器是否都自己实现javascript?或者,他们是一个普通的SDK \ API或什么?

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

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

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

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

而在去年,

什么是执行的每个浏览器的名字?例如,我理解FirFox使用

实现名为“犀牛”,我是对吗?

非常感谢! Michael

回答

1
  1. 是的,他们对自己实施JavaScript。
  2. 是的,它绑定到浏览器版本。不,你不能在同一个浏览器版本中拥有2个不同的引擎。你可以为不同的浏览器版本。
  3. 是的,它被称为EcmaScript。大多数实现都非常好。
  4. FireFox不使用犀牛。 Mozilla开发它,但在FireFox中的实现是不同的。所有浏览器都实现了单线程JavaScript,而Rhino不是单线程的。
1

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

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

1

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

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

您可以找到有关ECMAScript的更多细节和版本的浏览器在这里实现: -

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

你不会得到同一个浏览器(通常)内提供给你两个不同的JavaScript引擎。