Если вы все время работали с 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
}