KARLA
2016-04-19 11:01
var mystr="Hello World!"
document.write(mystr.indexOf("o",mystr.indexOf("o")+1));
<script type="text/javascript"> var mystr="Hello World!" document.write(mystr.indexOf("o",7)+"<br>");//字符串位置从0开始,所以第二个o的位置是7;x.indexOf("o",7)中的7与输出结果7意义不一样;输出结果中7其实是第8个位置,只是首位以0开始,所以第8个位置便是7 document.write(mystr.indexOf("o",(mystr.indexOf("W")))+"<br>"); //定位到“W”,然后从此位置开始算,“o”出现的位置,就不用数从第几个数开始 document.write(mystr.indexOf("o",mystr.indexOf("o")+1)+"<br>"); //mystr.indexOf("0")位置就是在4;那么mystr.indexOf("0")+1就是5,从位置5开始找“o”,就是避开了第一个“o”的位置 document.write(mystr.indexOf("o")+","+mystr.indexOf("o",mystr.indexOf("o")+1)+"<br>"); //输出两个“o”出现的位置 </script>
因为JS里都是从零开始计数,+1代表从第一个o开始计算第二个o的位置,也可以加2,得到的结果也是7,也可以加3,得到也是7,但是加4就是负1了。所以我的理解就是这样:+1代表从第一个o开始计算第二个o的位置。
我也小白
这个你看一分开写就比较好看了。
var num = mystr.indexOf('o'); //查找第一个'o'出现的位置。
mystr.indexOf('o')+1; //就是从第一个'o'出现的后一个位置。
如果不加1那么一直查找的都是第一个'o'的位置。
mystr.indexOf("o")+1表示从第一个o的下个位置开始检索
因为数的起点是从0 开始,不是从1
0和1 那个是起点要明白。容易混的东西。
indexOf(a,b)的a表示查找的字段,b表示从哪开始。返回值是查到的第一个的位置。如字段如mystr=“abcab”,mystr.indexOf("b"),返回值是1(表示在第二个字符)如果此时mystr.indexOf("b",mystr.indexOf("b")),则是mystr.indexOf("b",1),得到的还是第一个“b”。+1才能从b的下个字符开始查,才能得到第2个“b”的位置。要点赞哦
因为这个范围是[),前开后闭的,如果不加一,实际就是 为空
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题