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

例题中的这个“8”什么意思?

<script type="text/javascript">
  var str="I love JavaScript!"
  document.write(str.indexOf("I") + "<br />");
  document.write(str.indexOf("v") + "<br />");
  document.write(str.indexOf("v",8));
</script>

就是最后那个输出, document.write(str.indexOf("v",8));这个8是什么为什么输出结果是9

提问者:qq_水无声_03882251 2016-09-17 10:15

个回答

  • 隔壁诸葛村夫
    2016-09-17 22:05:33
    已采纳

    不是第八个字符,是脚标为8的位置开始找“v”,数组脚标从0开始

  • 慕村1994845
    2016-09-18 18:43:06

    <script type="text/javascript">
      var str="I love JavaScript!"
      document.write(str.indexOf("I") + "<br />");
      document.write(str.indexOf("v") + "<br />");
      //document.write(str.indexOf("v",8));
      document.write(str.indexOf("v",(str.indexOf("J"))));
      //这样写,就不用去数数了,定位到从“J”开始找“v”就行,原本可以从“a”开始,但“a”出现了两次,为了避免出错,尽量选择单次出现的字母(这里是可以从“a”开始;但如果是定位“S”的位置就不好用“a”开始找了),就是要注意括号有点多
    </script>


  • 夜空中最亮de星
    2016-09-17 10:36:24

    "8"的意思是从左边的第八个字符(空格也算字符)开始 找”v“。如题:不加8的是 从左边第一个字符开始找‘’v‘’。indexOf只从 开始位置 找第一个出现的v 的位置