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的哪个位置开始找呢?
不写第二个参数,就从开始位置找,即字符串索引位置为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。
如果第二个疑问搞定了,那么第一个疑问你就能懂了,请采纳。
添加回答
举报
0/150
提交
取消