Если вы хоть раз работали с JavaScript, то знаете, что Internet Explorer не реализует функцию ECMAScript для Array.prototype.indexOf () [включая Internet Explorer 8]. Это не большая проблема, потому что вы можете расширить функциональность своей страницы с помощью следующего кода.
Array.prototype.indexOf = function(obj, start) {
for (var i = (start || 0), j = this.length; i < j; i++) {
if (this[i] === obj) { return i; }
}
return -1;
}
Когда я должен это реализовать?
Должен ли я обернуть его на все мои страницы с помощью следующей проверки, которая проверяет, существует ли функция прототипа, а если нет, продолжить и расширить прототип массива?
if (!Array.prototype.indexOf) {
// Implement function here
}
Или проверить браузер, и если это Internet Explorer, просто реализовать его?
//Pseudo-code
if (browser == IE Style Browser) {
// Implement function here
}
Array.prototype.indexOf
не является частью ECMA-262 / ECMAScript. См. ecma-international.org/publications/files/ECMA -ST / ECMA-262.pdf Может быть, вы думаете _2 _... - person Crescent Fresh   schedule 16.11.2009Array.indexOf
не учитывает отрицательные начальные индексы. См. Предлагаемую Mozilla временную реализацию здесь: developer.mozilla.org/en / JavaScript / Reference / Global_Objects / - person nickf   schedule 27.10.2010