Javascript indexOf在IE8中抛出错误,但在所有其他浏览器中都有效

Javascript indexOf在IE8中抛出错误,但在所有其他浏览器中都有效,javascript,internet-explorer,indexof,Javascript,Internet Explorer,Indexof,嘿,我有以下js代码: for(var i = choicesOrder.indexOf(cat)+1; i<choicesOrder.length; i++) for(var i=choicesord.indexOf(cat)+1;i您可以在这里找到一个可以实现的原型版本:您可以在这里找到一个可以实现的原型版本:您可以将此功能扩展为IE8及以下版本中的.indexOf if (!Array.prototype.indexOf) { Array.prototype.indexOf =

嘿,我有以下js代码:

for(var i = choicesOrder.indexOf(cat)+1; i<choicesOrder.length; i++)

for(var i=choicesord.indexOf(cat)+1;i您可以在这里找到一个可以实现的原型版本:

您可以在这里找到一个可以实现的原型版本:

您可以将此功能扩展为IE8及以下版本中的.indexOf

if (!Array.prototype.indexOf) {
  Array.prototype.indexOf = function(elt /*, from*/) {
    var len = this.length >>> 0,
        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;
  };
} 
if(!Array.prototype.indexOf){
Array.prototype.indexOf=函数(elt/*,from*/){
var len=this.length>>>0,
from=Number(参数[1])| | 0;
from=(from<0)?Math.ceil(from):Math.floor(from);
如果(从<0开始)
from+=len;
for(;from
您可以将此功能扩展为IE8及以下版本中.indexOf的补丁

if (!Array.prototype.indexOf) {
  Array.prototype.indexOf = function(elt /*, from*/) {
    var len = this.length >>> 0,
        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;
  };
} 
if(!Array.prototype.indexOf){
Array.prototype.indexOf=函数(elt/*,from*/){
var len=this.length>>>0,
from=Number(参数[1])| | 0;
from=(from<0)?Math.ceil(from):Math.floor(from);
如果(从<0开始)
from+=len;
for(;from