猿问

indexOf()的问题

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"的长度?

慕勒5811226
浏览 1859回答 3
3回答

一念天堂一念地狱

首先,需要了解一下js中  strObj.indexOf(subString[, startIndex]) 的含义:从字符串strObj中寻找到子字符串subString的位置并返回(注意:返回的是子符串首字母第一次出现的位置,字符串的位置是从索引0开始计算的),那么从字符串strObj的哪个位置开始找呢?不写第二个参数,就从开始位置找,即字符串索引位置为0的地方找。写第二个参数,就从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。如果第二个疑问搞定了,那么第一个疑问你就能懂了,请采纳。

刚毅87

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

刚毅87

mystr.indexOf("Hello")值为0,加上 hello 的长度5,mystr.substring参数正好可以获取到 hello.
随时随地看视频慕课网APP
我要回答