根据维基百科的说法,IE8仅支持Javascript 1.5。所以他们说IE8完全忽略了Javascript版本1.6,1.7,1.8和1.9。IE8支持哪些Javascript版本?
我应该相信吗?这是真的吗?
根据维基百科的说法,IE8仅支持Javascript 1.5。所以他们说IE8完全忽略了Javascript版本1.6,1.7,1.8和1.9。IE8支持哪些Javascript版本?
我应该相信吗?这是真的吗?
那么,实际上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标准的一部分。
是的,这是真的(至少就支持哪种语言功能而言)。您可以使用一些Javascript的1.6代码轻松检查这个:
alert([1,2,3].indexOf(2));
IE 8引发错误。
请注意,IE 8可能支持在较新版本的Javascript中添加的一些功能。 IE包含了很多标准之外的东西,所以它可能与后面的增加相同。
此测试取自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>
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中使用的一些有用的String
和Array
方法,但在标准中找不到大多数Mozilla的JS语法扩展。
你应该用你在这里学到的知识去更新维基百科文章。 – 2010-04-26 16:04:30