<script type="text/javascript">
var mystr="Hello World!"
var pos = 0;
for (var i = 0; i < mystr.length-1; i++) {
pos = mystr.indexOf('o', pos);
document.write("'o'出现第" + (i + 1) + "次的位置是" + pos+'<br>');
pos++;
}
</script>
第一次运行结果,从0开始检索,pos变成了4,然后通过自增,变成了5;
第二次运行结果,从5开始检索,pos变成了7,通过自增,编程了8;
第三次运行结果,从8开始检索,pos会得到-1;自增,变成0;
然后重复第一次运行,so。。。
如果加上后面的if(pos==-1){break;}就说明在指定检索位置的后面没有o的时候,就跳出循环,从而只有两个结果
如果这样做就是对的,可是不明白为什么,求解吖
<script type="text/javascript">
var mystr="Hello World!"
var pos = 0;
for (var i = 0; i < mystr.length-1; i++) {
pos = mystr.indexOf('o', pos);
if(pos==-1){
break;
}
document.write("'o'出现第" + (i + 1) + "次的位置是" + pos+'<br>');
pos++;
}
</script>