日期:2014-05-16  浏览次数:20376 次

在IE使用javascript 数组的indexOf
最近在使用javascript数组时,为了获取数组中元素的索引,使用了indexOf.在firefox中调试ok,但是放到ie中,总是出错,无法执行。查查资料,发现原来在ie中不支持indexOf。如果要使用,需要插入下面的一段代码:


if(!Array.indexOf)
{
    Array.prototype.indexOf = function(obj)
    {               
        for(var i=0; i<this.length; i++)
        {
            if(this[i]==obj)
            {
                return i;
            }
        }
        return -1;
    }
}

例如:
var   a=new   Array( 'morning', 'lunch', 'afternoon', 'night');
var flag_inout = 'lunch'
//for ie can't support indexof
if(!Array.indexOf){
            Array.prototype.indexOf = function(obj){
                for(var i=0; i<this.length; i++){
                    if(this[i]==obj){
                        return i;
                    }
                }
                return -1;
            }
        }

var index_id = a.indexOf(flag_inout);