问答详情
源自:7-8 返回指定的字符串首次出现的位置

想知道我这样子写是不是不行啊?怎么运行都没用。

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>string对象 </title>

<script type="text/javascript">

  var mystr="Hello World!";


  for(con=0;con<mystr.length-1;con++)  //定义循环,循环长度控制在在字符串长度之中,并且每次获取o的位置的时候,再+1

  {

      con=mystr.indexOf('o',con);     //获取 字符串中 "o"的位置

      document.write(con);              //输出o的位置。

  }


</script>

</head>

<body>

</body>

</html>



这样子写的目的是为了找出字符串中的每一个字母o,并输出其位置。

上面代码我个人的想法就是,con从0开始循环,然后con获取了mystr中,第一个o的位置后,值为4。

那么就输出4,然后回到循环,con++,也就是4+1=5。

接下来继续执行 con=mystr.indexOf('o',con);   ,这个时候的con应该是5,从5的位置开始搜索"o"。

接下来继续输出,这个时候应该是7。接下来再搜索就没有了。但是为什么不能执行呢?

提问者:麻辣烫不加辣 2018-07-09 09:09

个回答

  • 慕移动9181930
    2022-03-24 11:49:49

    没错,就这样啊~android

  • 慕前端0798377
    2018-08-10 19:58:47

    <!DOCTYPE HTML>

    <html>

        <head>

            <script>

                var abb="i love javascript!"

                    for(i=0;i<=abb.length-1;i++){

                        document.write("位置:"+abb.indexOf("a",i)+"<br />");

                    }

                </script>

            </head>

            <body>

                </body>

        </html>


  • 加了椰子汁的冰
    2018-07-11 14:20:56

     var mystr="Hello World!";

      for(con=0;con<mystr.length-1;con++)  

      {   

          var ree;

          ree=mystr.indexOf('o',con);     //获取 字符串中 "o"的位置

          document.write(ree+"<br/>");              //输出o的位置

      }


  • qq_抛物线_0
    2018-07-09 23:11:34

    程序有错,document换成alert 会一直弹出

  • Fox___
    2018-07-09 16:56:53

    document.write(mystr.indexOf('o',mystr.indexOf('o',mystr)+1));

    可以简单点写

  • qq_风吹草叶树岚子_0
    2018-07-09 09:57:27

     for(con=0;con<mystr.length-1;con++) con没有定义。for(var con=0;con<mystr.length-1;con++)