JavaScript compatibility changes

Recent versions of Internet Explorer have improved support for the latest version of the ECMAScript standard and align more directly with the JavaScript implementations of other browsers. Use this information to adapt your legacy sites to support the latest versions of Internet Explorer.

In this section

Topic Description

Array index handling

Starting with Windows Internet Explorer 9, array elements with large indices are handled differently than in earlier versions.

Enumerating JavaScript properties

Due to the changes made in the JavaScript object model of Internet Explorer 9, JavaScript properties may be enumerated differently from how they are enumerated in earlier versions.

Function pointer method calls

Earlier versions of Windows Internet Explorer supported caching a pointer to a method and then using the cached pointer to call the method. As of Internet Explorer 9, This support was removed to improve interoperability with other browsers.

Handling daylight saving time using JavaScript

In Internet Explorer 9 and previous versions of Internet Explorer, dates are customized by applying the ECMAScript specification's rules for storing daylight saving time adjusted times internally. To improve accuracy, especially with dates in the past (historical dates), Internet Explorer 10 relies on the system's rules for storing daylight saving time adjusted times.

Indirect eval function called are now globally scoped

Calling eval methods indirectly (that is, other than by the explicit use of its name) inside a function produces different results in Internet Explorer 9 and later versions that it does in earlier versions (and document modes).

Math precision and SSE2 differences

Starting with Internet Explorer 9, math precision in certain edge cases differs from earlier versions. Chakra, the JavaScript engine introduced in Internet Explorer 9 uses Streaming SIMD Extensions 2 (SSE2) if the platform supports them, which results in faster mathematical operations but also yields a difference in precision from the Microsoft JScript engine of Windows Internet Explorer 8

Null protocol return values

Internet Explorer 9 now follows HTML5 guidelines when handling JavaScript protocols that return "null".

Verify JavaScript framework support for the latest versions of Internet Explorer

Each version of Internet Explorer improves support for modern standards and interoperability with other web browsers.

ActiveX controls and plugin changes

Browser features and compatibility changes

CSS and layout compatibility changes

HTML and DOM compatibility changes

Legacy feature support changes

Internet Explorer compatibility changes by version