if(!Array.prototype.indexOf){
Array.prototype.indexOf=function(obj,start){
for(var index=(start || 0), j=this.length;index<j;index++){
if(this[index]===obj){
return index;
}
}
return -1;
}
}
var arr=[1,2,3,4,5];
Array.prototype.indexOf=function(obj,start){
for(var index=(start || 0), j=this.length;index<j;index++){
if(this[index]===obj){
return index;
}
}
return -1;
}
}
var arr=[1,2,3,4,5];
console.log(arr.indexOf(3,1))
一.代码注释:
(1).if(!Array.prototype.indexOf){},判断当前浏览器是否支持indexOf()方法。
(2).Array.prototype.indexOf=function(obj,start){},如果不支持,那么就自定义一个indexOf()方法,第一个参数是要查找的元素,第二个参数表示查找的起始位置。
(3).for(var index=(start || 0), j=this.length;index<j;index++){
if(this[index]===obj){
return index;
}
}如果没有传递start参数,那么就是从索引值为0的位置开始查找,也就是第一个位置开始查找。
通过遍历的方式找到指定元素,然后返回索引值。
(4).return -1,没有找到就返回-1。