IE8不支持数组的indexOf方法 如何解决

技术文章 2015年11月26日 4.2K

一个js bug, 在IE8下有个js错误,在其它浏览器下(Firefox, Chrome, IE9)都是正常的。

原因分析:
在IE8下, js数组没有indexOf方法,我了个去哦。

我的解决方法:
在使用indexOf方法前,执行一下下面这个js。
原理:发现数组没有indexOf方法,会添加上此方法

if (!Array.prototype.indexOf)
{
Array.prototype.indexOf = function(elt /*, from*/)
{
var len = this.length >>> 0;

var from = Number(arguments[1]) || 0;
from = (from < 0)
? Math.ceil(from)
: Math.floor(from);
if (from < 0)
from += len;

for (; from < len; from++)
{
if (from in this &&
this[from] === elt)
return from;
}
return -1;
};
}

 


关注微信公众号『PHP学习网

第一时间了解最新网络动态
关注博主不迷路~

PHP学习网:站内收集的部分资源来源于网络,若侵犯了您的合法权益,请联系我们删除!
分享到:
赞(0)

文章评论

您需要之后才可以评论
0点赞 0评论 收藏 QQ分享 微博分享

PHP学习网

PHP学习网