为了账号安全,请及时绑定邮箱和手机立即绑定

indexOf()的问题

indexOf()的问题

慕勒5811226 2016-06-25 16:45:13
var mystr="Hello World!"  document.write(mystr.indexOf('o',mystr.indexOf('o')+1)); //找出第二个o的位置后面+1是啥意思?document.write(mystr.substring(mystr.indexOf("Hello"),mystr.indexOf("Hello")+"Hello".length) );//截取Hello的位置为什么要加上"Hello"的长度?
查看完整描述

3 回答

已采纳
?
一念天堂一念地狱

TA贡献1条经验 获得超1个赞

首先,需要了解一下js中  strObj.indexOf(subString[, startIndex]) 的含义:从字符串strObj中寻找到子字符串subString的位置并返回(注意:返回的是子符串首字母第一次出现的位置,字符串的位置是从索引0开始计算的),那么从字符串strObj的哪个位置开始找呢?

  1. 不写第二个参数,就从开始位置找,即字符串索引位置为0的地方找。

  2. 写第二个参数,就从startIndex位置开始找,包括startIndex位置。

楼主的疑问,应该在于 indexOf()函数的返回值上面,其返回的是子符串首字母第一次出现的位置。

所以,楼主的疑问在于函数的返回值上面,对于第二个疑问而言:mystr.indexOf("Hello")+"Hello".length)返回值是0+5=5.   mystr.substring(mystr.indexOf("Hello"),mystr.indexOf("Hello")+"Hello".length)其实是mystr.subString(0,5),含0不含5,索引0-4正好就是hello。


如果第二个疑问搞定了,那么第一个疑问你就能懂了,请采纳。

查看完整回答
1 反对 回复 2016-06-25
?
刚毅87

TA贡献345条经验 获得超309个赞

mystr.indexOf('o') 找出第一个 o 所在的位置,+1是为了跳过第一个 o, 从而查找第二个 o.

查看完整回答
1 反对 回复 2016-06-25
?
刚毅87

TA贡献345条经验 获得超309个赞

mystr.indexOf("Hello")值为0,加上 hello 的长度5,mystr.substring参数正好可以获取到 hello.

查看完整回答
反对 回复 2016-06-25
  • 3 回答
  • 0 关注
  • 1858 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信