为什么会重复出现

来源:7-8 返回指定的字符串首次出现的位置

fengguowuhen1994

2016-01-09 15:26

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

  • greenhandc
    2016-01-13 22:11:52

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

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

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

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

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

  • fengguowuhen1994
    2016-01-09 15:29:22

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

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

    慕村1994...

    我想问为什么是i<mystr.length-1;为什么要-1

    2016-09-18 20:38:05

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468195 学习 · 21891 问题

查看课程

相似问题