Array.forEach или object doesn’t support this property or method
При переборе массива с использованием forEach в Internet Explorer вывалилась ошибка object doesn’t support this property or method
IE 7 не поддерживает конструкцию forEach для массивов [1,2,3] - то есть код вида
array_for = [1,2,3] ;
array_for.forEach = ...
//или
[1, 2, 3].forEach(print)
выдаст ошибку.
Чтобы исправить ошибку следует определить функцию
Array.prototype.forEach = function(callback, thisObj) {
for (var i = 0,len = this.length; i < len; i++)
callback.call(thisObj, this[i], i, this);
};
И вообще, в ie 8 (ie 7 и ie 6) не поддерживаются некоторые функции обхода массивов:
http://stackoverflow.com/questions/2790001/fixing-javascript-array-functions-in-internet-explorer-indexof-foreach-etc
Метки: js