2010-04-26 164 views
39

根据维基百科的说法,IE8仅支持Javascript 1.5。所以他们说IE8完全忽略了Javascript版本1.6,1.7,1.8和1.9。IE8支持哪些Javascript版本?

我应该相信吗?这是真的吗?

+13

你应该用你在这里学到的知识去更新维基百科文章。 – 2010-04-26 16:04:30

回答

43

那么,实际上IE的实现叫做JScript,JavaScript(TM)是Mozilla的实现。

JScript和JavaScript是两个基于ECMAScript的方言。

JavaScript 1.5符合ECMAScript 3rd Edition Standard,后续版本JS 1.6,1.7和1.8引入超出标准版本的语言功能,通常称为Mozilla扩展

这就是为什么JScript没有任何这些功能,因为它们不是ECMA标准的一部分。

+13

ECMAscript 5于2009年12月发布(在此答案之前的几个月),将许多这些新功能整合到标准中。 – 2011-04-01 19:24:02

+4

IE8是否支持ECMAscript 5呢? – noname 2014-02-05 22:15:15

+3

@BenNelson广义而言,NO。来源:http://kangax.github.io/compat-table/es5/#ie8 – Potherca 2014-05-28 13:56:29

3

是的,这是真的(至少就支持哪种语言功能而言)。您可以使用一些Javascript的1.6代码轻松检查这个:

alert([1,2,3].indexOf(2)); 

IE 8引发错误。

请注意,IE 8可能支持在较新版本的Javascript中添加的一些功能。 IE包含了很多标准之外的东西,所以它可能与后面的增加相同。

18

此测试取自here在我的Internet Explorer 8 64位中返回1.3

<SCRIPT Language="JavaScript1.3"> 
jsver = "1.3"; 
</SCRIPT> 
<SCRIPT Language="JavaScript1.4"> 
jsver = "1.4"; 
</SCRIPT> 
<SCRIPT Language="JavaScript1.5"> 
jsver = "1.5"; 
</SCRIPT> 
<SCRIPT Language="JavaScript1.6"> 
jsver = "1.6"; 
</SCRIPT> 
<SCRIPT Language="JavaScript1.7"> 
jsver = "1.7"; 
</SCRIPT> 
<SCRIPT Language="JavaScript1.8"> 
jsver = "1.8"; 
</SCRIPT> 

<BODY> 

<SCRIPT LANGUAGE="JavaScript"> 
document.write("<B>Your browser supports JavaScript version " + jsver + ".</B>") 
</SCRIPT> 

</body> 
</html> 
+3

这很有趣... – MatteoSp 2010-04-26 17:12:33

+5

http://jsfiddle.net/jPZj9/ – 2012-11-16 19:53:14

+2

此测试在Internet Explorer 11上也返回1.3 ... – Shaffe 2014-03-18 14:31:45

15

IE根本不支持JavaScript。 “JavaScript”特指Mozilla实施的ECMAScript标准。这个标准最初来源于Netscape/Mozilla关于该语言的工作,但后来他们已经发生了分歧。 IE的ECMAScript实现被称为“JScript”,它不支持Mozilla提供的许多扩展。

ECMAScript IE旨在的版本是第三版标准,也是JavaScript 1.5针对的版本,这就是为什么它们被认为是相似的原因。 Opera,Safari和Chrome的JavaScript引擎都针对同一个版本;虽然所有的实现都有错误,这意味着它们不完全符合规范,但总体而言,ECMAScript第三版对于今天的工作来说是一个坚实的基准。

ECMAScript的下一个版本是最近被标准化的第五版。所有的浏览器都从这个规范中挑选了一些功能,希望它在未来能够得到广泛的支持。它不符合任何特定的“JavaScript”版本;它明显地提取了以前在JavaScript 1.5中使用的一些有用的StringArray方法,但在标准中找不到大多数Mozilla的JS语法扩展。

相关问题