IE8 报错:SCRIPT438: 对象不支持“indexOf”属性或方法

由于ie7 8中Array尚未indexOf()方法,到ie9才能够直接使用,因此须要兼容处理,this

在使用indexOf()前加入如下代码:prototype

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

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

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