Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Starting with Windows Internet Explorer 9, array elements with large indices are handled differently than in earlier versions.
Windows Internet Explorer 8 does not conform to the ECMAScript (3rd edition) specification in situations where the initial value of the array's length property is greater than 2E+31-1 (that is, 2147483647). When an Array element is created with an index greater than 2147483647, the index of new element created will be a negative integer.
Internet Explorer 9 correctly handles Array elements that use indices between 2E+31-1 and 2E+32-2. The Internet Explorer 8 behavior is not replicated in any of the Internet Explorer 9 document modes.
This can be observed when an element is pushed to an array of length 2E+31-1.
If your webpage uses large arrays, test your code between Internet Explorer 8 and Internet Explorer 9.
The following example prints "true" in Internet Explorer 8, but prints "false" in Internet Explorer 9.
function test() {
var arr = new Array();
arr[2147483650] = 10000;
arr.push(10);
document.write(arr["-2147483645"] == 10);
}
test();