2012-11-19 105 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引擎。