原型一般用来解决浏览器的兼容问题,如果一个新的API,新版本的浏览器支持,但是就得浏览器不支持,可以自己写一个
//数组去重:写一个构造函数,模拟indexOf()这个API
var arr3 = [1,2,5,7,1,5,2];
var arr = new Array();//创建一个构造函数进行测验
/* 步骤: 1.先判断这个API是否存在 2.怎么处理事件 */
```javascript
if(typeof(Array.prototype.indexOfS) != "function"){
//Brray.prototype中没有这个indexOf方法
Array.prototype.indexOfS =
function(val, starti){
document.write("这是我自己定义的indexOfS");
//如果starti这个参数没有设置值,就是undfined,starti就默认为0
starti = starti || 0;
//i从starti开始,遍历当前的数组
for(var i = starti ; i<this.length;i++)//根据当前数组的长度判断循环的次数,用this关键字
if(this[i] === val){
return i;//返回查找的元素所在的位置
}else{
return -1;//在当前数组中没有找到这个元素,则设置返回-1
}
}
}else{
document.write("这是浏览器自带的内置对象的indexOf方法")
}
arr3.indexOfS(2);