根據維基百科的說法,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