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;
                };
            }方法

相關文章
相關標籤/搜索