慕勒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的哪個位置開始找呢?
不寫第二個參數,就從開始位置找,即字符串索引位置為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
提交
取消