为了账号安全,请及时绑定邮箱和手机立即绑定

为什么会重复出现

<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>

正在回答

2 回答

第一次运行结果,从0开始检索,pos变成了4,然后通过自增,变成了5;

第二次运行结果,从5开始检索,pos变成了7,通过自增,编程了8;

第三次运行结果,从8开始检索,pos会得到-1;自增,变成0;

然后重复第一次运行,so。。。

如果加上后面的if(pos==-1){break;}就说明在指定检索位置的后面没有o的时候,就跳出循环,从而只有两个结果

1 回复 有任何疑惑可以回复我~

如果这样做就是对的,可是不明白为什么,求解吖

<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>

1 回复 有任何疑惑可以回复我~
#1

慕村1994845

我想问为什么是i<mystr.length-1;为什么要-1
2016-09-18 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么会重复出现

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信