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

2015年11月26日 飞飞 阅读(2.54K)

一个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学习网 » IE8不支持数组的indexOf方法 如何解决
分享到:

相关推荐

评论抢沙发

要发表评论,您必须先

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

扫码关注微信公众号

扫描关注微信公众号