indexOf() 方法返回指定值在字符串对象中首次出现的位置。从 fromIndex 位置开始查找,如果不存在,则返回 -1。

首先先看下MDN下的参考文档,文档里列出的很详细,这里我只列出了注意点;

1)String对象下的方法

语法:

str.indexOf(searchValue[, fromIndex])

区分大小写:

indexOf 方法区分大小写。例如,下面的表达式返回 -1:

 "Blue Whale".indexOf("blue") // returns -1

检测是否存在某字符串:

当检测某个字符串是否存在于另一个字符串中时,可使用下面的方法:

 "Blue Whale".indexOf("Blue") !== -1; // true
"Blue Whale".indexOf("Bloe") !== -1; // false12

详细文档请戳这里String.prototype.indexOf()

2)Object对象下的方法

语法:

arr.indexOf(searchElement[, fromIndex = 0])

详细文档请戳这里Array.prototype.indexOf();

indexOf()方法在判断比较值得注意的是,indexOf 使用strict equality (无论是 ===, 还是 triple-equals操作符都基于同样的方法)进行判断searchElement与数组中包含的元素之间的关系;需要使用(===)

3)举例子

var array = [2, 5, 9];
array.indexOf(2); // 0 下标位置
array.indexOf(7); // -1

上面的例子中, 0 是 2 在字符串中出现的位置。起始下标是 0。而 -1 代表未匹配。

 var indices = [];
var array = ['a', 'b', 'a', 'c', 'a', 'd'];
var element = 'a';
var idx = array.indexOf(element);
while (idx != -1) {
indices.push(idx);
idx = array.indexOf(element, idx + 1);
}
console.log(indices);// [0, 2, 4]

上面的例子是找出指定元素出现的所有位置。

4)String和Number类型的使用

先来个例子

 var numStr = '2016';
numStr.indexOf('2'); //
numStr.indexOf(2); //

看到这里大家是否有所思考?数字,字符,这不是转换了么?

看来在执行过程中是把数字2转换成字符串'2'了。

然后在顺路看一下这个

 var num = 2016;
num.indexOf(2);

最后的结果输出什么呢?是输出0还是其他的答案?

那就来看看谷歌控制台的结果吧!

哇哦,报错了,结果就不能进行隐士转换咯!

错误信息显示不是一个函数,Uncaught TypeError: num.indexOf is not a function

那正确的使用方法是什么呢?请看下面代码

 //方法一
num = '2016';
num.indexOf(2); // //方法二
num.toString().indexOf(2); // //方法三
(num+'').indeOf(2);//

以上三种写法看个人喜爱选择哪种咯!反正我是怎么方便怎么来。

参考链接:http://www.jb51.net/article/94627.htm

      http://blog.163.com/very_apple/blog/static/2775923620109273237597/

感谢上面两位博主!

简单了解JS 中的indexOf方法的更多相关文章

  1. JS中通过call方法实现继承

    原文:JS中通过call方法实现继承 讲解都写在注释里面了,有不对的地方请拍砖,谢谢! <html xmlns="http://www.w3.org/1999/xhtml"& ...

  2. jQuery与JS中的map()方法使用

    1.jquery中的map()方法 首先看一个简单的实例: $("p").append( $("input").map(function(){ return $ ...

  3. js中的tostring()方法

    http://blog.sina.com.cn/s/blog_85c1dc100101bxgg.html js中的tostring()方法 (2013-11-12 11:07:43) 转载▼ 标签: ...

  4. 秒味课堂Angular js笔记------Angular js中的工具方法

    Angular js中的工具方法 angular.isArray angular.isDate angular.isDefined angular.isUndefined angular.isFunc ...

  5. JavaScript -- 时光流逝(二):js中数组的方法

    JavaScript -- 知识点回顾篇(二):js中数组的方法 1. 数组 (1)定义数组,数组赋值 <script type="text/javascript"> ...

  6. ASP.NET#使用母版时,如果要使用js中的getElementById()方法取得某个内容页的元素时要注意的问题

    当使用母版,要使用js中的getElementById()方法取得某个内容页的元素时,所选取的id并不是母版中内容页的id,而是在设计内容页时设定的id例子:母版页: ...... <head ...

  7. JS与OC交互,JS中调用OC方法(获取JSContext的方式)

    最近用到JS和OC原生方法调用的问题,查了许多资料都语焉不详,自己记录一下吧,如果有误欢迎联系我指出. JS中调用OC方法有三种方式: 1.通过获取JSContext的方式直接调用OC方法 2.通过继 ...

  8. JS中split使用方法和数组中元素的删除

    JS中split使用方法和数组中元素的删除 JS中split使用方法 <script language="javascript"> function spli(){ d ...

  9. JS中的splice方法

    JS中的splice方法 定义和用法 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目. 注释:该方法会改变原始数组(集合). 语法 arrayObject.splice(ind ...

随机推荐

  1. 《UML大战需求分析》阅读随笔(一)

    UML:Unified Modeling Language(统一建模语言) 作为我专业学科里的一门语言,其目的就是交流,同客户交流,同自己交流. 用图像和文字,详细地讲解将要做的工程的 需求和功能细节 ...

  2. Android Studio中获取SHA1或MD5的方法

    原来在Eclipse中获取SHA1或者MD5,在IDE界面上就可以查找到. 切换到Android Studio后,如何查看呢?找了半天没找到.那就老办法命令行. 第一步.打开Android Studi ...

  3. Python学习日志(二)

    在网易云课堂看到小甲鱼的python视频,想起以前看就是看他的视频学C的虽然后来不了了之都怪我自己啦,于是决定跟着这个视频来学python啦! IDLE IDLE其实是一个python shell , ...

  4. wpf 仿QQ图片查看器

    参考博客 WPF下的仿QQ图片查看器 wpf图片查看器,支持鼠标滚动缩放拖拽 实现效果 主要参考的WPF下的仿QQ图片查看器,原博主只给出了部分代码. 没有完成的部分 1.右下角缩略图是原图不是缩略图 ...

  5. [bzoj4726]Sabota

    做的题太少,什么都要看题解.. 题意只给出一个叛徒,则他一定是叶子结点(最坏情况下),那么"带头反叛"的点一定构成了一条链. 令f[u]表示u不带头反叛的最小值,则考虑它的每一支儿 ...

  6. 如何理解typedef void (*pfun)(void)

    问题: 在刚接触typedef void (*pfun)(void) 这个结构的时候,存在疑惑,为什么typedef后只有一"块"东西,而不是两"块"东西呢?那 ...

  7. React 学习,需要注意几点

    最近要开始学习 React 框架了,在学习的过程中,个人作为一个新手觉得需要注意的一些问题 小细节有以下几点: 1:在JSX语法当中,如果遇到 HTML 标签(以 < 开头),将用 HTML 规 ...

  8. 双向链表、双向循环链表的JS实现

    关于链表简介.单链表.单向循环链表.JS中的使用以及扩充方法:  单链表.循环链表的JS实现 关于四种链表的完整封装: https://github.com/zhuwq585/Data-Structu ...

  9. 关于H5框架之Bootstrap的小知识

    浏览器支持 旧的浏览器可能无法很好的支持 Bootstrap 支持 Internet Explorer 8 及更高版本的 IE 浏览器 CSS源码研究 我们不是在head里面引入了下面这些文件么 &l ...

  10. URL的截取问题

    $(function (){ if (window.location.href.includes('?')) { if (window.location.href.split('?')[1].spli ...