终于解决了IE8不支持数组的indexOf方法_javascript技巧
程序员文章站
2024-01-18 15:52:22
...
下面是我找到的解决办法:
if (!Array.prototype.indexOf)
{
Array.prototype.indexOf = function(elt /*, from*/)
{
var len = this.length >>> 0;
在使用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 ? Math.ceil(from)
: Math.floor(from);
if (from from += len;
for (; from {
if (from in this &&
this[from] === elt)
return from;
}
return -1;
};
}