在利用 JavaScript 时,认识到 Internet Explorer 缺乏 Array.prototype.indexOf 的 ECMAScript 实现至关重要(),包括 IE8 及以下版本。此限制不会造成重大障碍,因为您可以使用以下代码轻松地在页面上扩展此功能:
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; }
何时实施:
您可能会质疑是否应该在所有页面上实现此扩展,并检查原型函数是否存在。但是,强烈建议仅在明确需要此功能的页面上实现它。
总结:
尽可能避免浏览器检测代码,因为通常认为它不受欢迎的。相反,依靠特征检测来识别 Array.indexOf() 函数的存在并相应地实现它。利用上面建议的检查可确保兼容性,而无需不必要的浏览器特定代码。
以上是如何修复 Internet Explorer 中的'Array.prototype.indexOf()”问题?的详细内容。更多信息请关注PHP中文网其他相关文章!