IE8支持哪些Javascript版本?

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

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

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

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

JavaScript 1.5符合ECMAScript第3版标准 ,随后的版本JS 1.6,1.7和1.8引入了标准版以外的语言function,通常称为Mozilla扩展

这就是为什么JScript没有这些function的原因,因为它们不是ECMA标准的一部分。

这个testing从这里 1.3在我的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> 

IE根本不支持JavaScript。 “JavaScript”专指Mozilla的ECMAScript标准的实现。 这个标准最初是从Netscape / Mozilla的语言工作中衍生出来的,但是他们之间已经发生了分歧。 IE的ECMAScript实现被称为“JScript”,它不支持Mozilla所做的许多扩展。

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

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

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

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

IE 8引发错误。

请注意,IE 8可能支持在更高版本的Javascript中添加的一些function。 IE包含了很多标准以外的东西,所以它可能和后面的增加一样。