Si ha trabajado con JavaScript por algún tiempo, sabe que Internet Explorer no implementa la función ECMAScript para Array.prototype.indexOf () [incluido Internet Explorer 8]. No es un gran problema, porque puede ampliar la funcionalidad de su página con el siguiente código.
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;
}
¿Cuándo debo implementar esto?
¿Debo envolverlo en todas mis páginas con la siguiente verificación, que verifica si la función del prototipo existe y si no, continúe y extienda el prototipo de matriz?
if (!Array.prototype.indexOf) {
// Implement function here
}
¿O comprueba el navegador y si es Internet Explorer, simplemente impleméntelo?
//Pseudo-code
if (browser == IE Style Browser) {
// Implement function here
}
Array.indexOf
no tiene en cuenta los índices iniciales negativos. Vea la implementación
Array.prototype.indexOf
no es parte de ECMA-262 / ECMAScript. Ver ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf Quizás estés pensandoString.prototype.indexOf
...