Подтвердить что ты не робот

Какие версии Javascript поддерживает IE8?

Согласно Wikipedia, IE8 поддерживает только Javascript 1.5. Поэтому они говорят, что IE8 полностью игнорирует версии Javascript 1.6, 1.7, 1.8 и 1.9.

Должен ли я доверять? Это правда?

4b9b3361

Ответ 1

Ну, на самом деле реализация 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.

Ответ 2

Этот тест, взятый из здесь, возвращает 1.3 в моем 64-битном браузере Internet Explorer 8.

<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

IE не поддерживает JavaScript вообще. "JavaScript" конкретно относится к внедрению Mozilla стандарта ECMAScript. Этот стандарт был первоначально получен из работы Netscape/Mozilla на языке, но с тех пор они расходятся. IE-реализация ECMAScript называется "JScript", и она не поддерживает многие расширения, которые сделала Mozilla.

Версия ECMAScript IE нацелена на стандарт третьего издания, к которому также относится версия JavaScript 1.5, поэтому они считаются схожими. Двигатели JavaScript Opera, Safari и Chrome все нацелены на эту же версию; в то время как все реализации имеют ошибки, которые означают, что они не совсем точно соответствуют спецификации, в общем случае ECMAScript Third Edition является прочной базой для того, что работает сегодня.

Следующая версия ECMAScript - это пятое издание, которое было недавно стандартизовано. Все браузеры собирают функции из этой спецификации, и надеются, что она станет столь же широко поддерживаемой в будущем. Он не соответствует какой-либо конкретной версии "JavaScript"; он особенно подбирает некоторые полезные методы String и Array, которые ранее были в JavaScript 1.5, но вы не найдете большинство синтаксических расширений Mozilla для JS в стандарте.

Ответ 4

Да, это правда (по крайней мере, насколько языковые функции поддерживаются). Вы можете легко проверить это, используя код Javascript 1.6:

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

IE 8 выдает сообщение об ошибке.

Обратите внимание, что IE 8 может поддерживать некоторые функции, добавленные в более поздних версиях Javascript. IE содержит много вещей вне стандартов, поэтому, вероятно, некоторые из них совпадают с более поздними дополнениями.