如何修复 Internet Explorer 浏览器 JavaScript 中的 Array indexOf()
2022-08-30 00:06:09
如果您使用过JavaScript,您就会知道Internet Explorer不会为Array.prototype.indexOf()(包括Internet Explorer 8)实现ECMAScript函数。这不是一个大问题,因为您可以使用以下代码扩展页面上的功能。
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
}