IE8支持哪些Javascript版本?

时间:2010-04-26 15:32:07

标签: javascript internet-explorer browser

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

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

4 个答案:

答案 0 :(得分:43)

嗯,实际上IE实现被称为JScript,JavaScript(TM)是Mozilla的实现。

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

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

这就是JScript没有任何这些功能的原因,因为它们不属于ECMA标准。

答案 1 :(得分: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>

答案 2 :(得分: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的语法扩展。

答案 3 :(得分:3)

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

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

IE 8抛出错误。

请注意,IE 8可能支持在Javascript的更高版本中添加的一些功能。 IE包含很多标准之外的东西,所以有些东西可能与后来添加的东西相同。