问题:indexOf
在目前的主流流浪器中都能正常显示,但是在 IE9 以下存在兼容性问题
解决方法:
1、首先判断当前环境下的数组有没有 indexOf
方法
2、若当前环境下数组没有 indexOf
方法,则需要自定义一个 indexOf
方法,第一个参数为要查找的元素,第二个参数为查找的起始位置
3、在数组中查找到需要查找的元素,返回该元素第一次出现的位置(即 return i
);若没有查找到元素,则返回-1(即 return -1
)
if(!Array.indexOf){
// 或者 if(!Array.prototype.indexOf){
Array.prototype.indexOf = function(el,star){
for (var i=(star||0),n=this.length; i<n; i++){
if (this[i] === el){
return i;
}
}
return -1;
}
}
数组中兼容性不好的方法:
indexOf:返回获取项在数组中的索引
lastIndexOf:返回获取项在数组中出现的最后一次索引
map:循环遍历数组 参数是一个匿名函数
forEach: 循环遍历数组 参数是一个匿名函数 默认返回为undefined