嘿,我有以下js代码:
for(var i = choicesOrder.indexOf(cat)+1; i<choicesOrder.length; i++)
它抛出错误:SCRIPT438:对象不支持属性或方法'indexOf'
由于它适用于所有其他浏览器,我该如何解决这个问题?
嘿,我有以下js代码:
for(var i = choicesOrder.indexOf(cat)+1; i<choicesOrder.length; i++)
它抛出错误:SCRIPT438:对象不支持属性或方法'indexOf'
由于它适用于所有其他浏览器,我该如何解决这个问题?
您可以在此处找到可以实现的原型版本:https ://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf
您可以在 IE8 及更低版本中将此类功能扩展为 Fix for .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;
};
}