Array.prototype.indexOf
2015-09-15 10:16
302 查看
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
//参数item:必选项,要查找的Array对象中的一子项
//参数i:可选项。该整数值指出在Array对象内开始查找的索引。如果省略,则从字符串的开始处查找。
if (!Array.prototype.indexOf) Array.prototype.indexOf = function(item, i) {
//alert("prototyping...");
//因为"||"或运算符是短路运算,就是当左边为true时不会去执行右边,直接就返回true,只有当左边为false时才会执行,也就是说除非以下情况才会执行i=0;
1.没有给indexOf传递参数i,比如array.indexOf(item);
2.i = 0、空字符串("")、undefined、null、NaN、false
i || (i = 0);
//这行显然就是得到数组的长度 var length = this.length;
//如果传的i<0,那么查找位置就从length+i开始查找,这里其实还要做个判断,i不能小于-length;不然i = length + i;还是小于0
if (i < 0) i = length + i;
//这里就是从i位置开始查找item for (; i < length; i++)
//找到就返回item在Array中的位置
if (this[i] === item) return i;
//找不到就返回-1 return -1;
};
</script>
</body>
</html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
//参数item:必选项,要查找的Array对象中的一子项
//参数i:可选项。该整数值指出在Array对象内开始查找的索引。如果省略,则从字符串的开始处查找。
if (!Array.prototype.indexOf) Array.prototype.indexOf = function(item, i) {
//alert("prototyping...");
//因为"||"或运算符是短路运算,就是当左边为true时不会去执行右边,直接就返回true,只有当左边为false时才会执行,也就是说除非以下情况才会执行i=0;
1.没有给indexOf传递参数i,比如array.indexOf(item);
2.i = 0、空字符串("")、undefined、null、NaN、false
i || (i = 0);
//这行显然就是得到数组的长度 var length = this.length;
//如果传的i<0,那么查找位置就从length+i开始查找,这里其实还要做个判断,i不能小于-length;不然i = length + i;还是小于0
if (i < 0) i = length + i;
//这里就是从i位置开始查找item for (; i < length; i++)
//找到就返回item在Array中的位置
if (this[i] === item) return i;
//找不到就返回-1 return -1;
};
</script>
</body>
</html>
相关文章推荐
- 网页特殊符号HTML代码大全
- android iw
- 指针概念
- 何为 “元组”(Tuple)?
- C++ int function() const; 怎么理解?
- jstat命令详解及显示结果含义
- hi3516a之ffmpeg x264交叉编译
- Linux学习7_*.src.rpm包与*.tar.gz、*.rpm包的区别
- [译文]深入浅出AngularJS作用域
- Android AndroidStudio环境下控制状态栏颜色
- Mybatis保存ip地址为整形handler
- codeforces 4D D. Mysterious Present(dp)
- Qt 学习之路 :Qt 绘制系统简介
- 单击滚动条两端的箭头,会触发的滚动条事件
- 【JavaScript】创建命名空间,Class,LOG
- Android 中Activity,Window和View之间的关系
- java BigDecimal.ROUND_UP和BigDecimal.ROUND_DOWN的用处
- linux安装nginx
- js常用正则
- iOS 识别系统内部地址、电话信息并点击可跳转至系统自带软件