如何为InternetExplorer浏览器修复JavaScript中的Array indexOf如果您使用过任何长度的JavaScript,那么您就知道InternetExplorer没有为Array.Prototype.indexOf()[包括InternetExplorer 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;}我应该在什么时候实现这一点?我是否应该用下面的检查将它包装在我的所有页面上,检查Prototype函数是否存在,如果不存在,那么继续扩展Array Prototype吗?if (!Array.prototype.indexOf) {
// Implement function here}或者进行浏览器检查,如果它是InternetExplorer,那么只需实现它?//Pseudo-codeif (browser == IE Style Browser) {
// Implement function here}
3 回答
梦里花落0921
TA贡献1772条经验 获得超6个赞
繁星淼淼
TA贡献1775条经验 获得超11个赞
if (!Array.prototype.indexOf) { 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; }}
添加回答
举报
0/150
提交
取消