想问下,下面那个8是怎么来的,不会是数出来的吧,如果内容很多,怎么数?另外输出的9是表示每第个v的位置是索引值9对吧?

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

web小菜

2016-10-25 09:51

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

写回答 关注

4回答

  • MeYele
    2017-02-04 14:51:15

    虽然,我不知道怎么回答,但是这个问题也是我想知道 的。感觉可以用那个switch case的方法实现?

  • 慕粉3912077
    2016-11-08 11:59:19

    这位置是从0开始的,空格也要算上  , 如果把空格删了,如:var str="IloveJavaScript!"
     document.write(str.indexOf("v",8));//输出7,

    慕粉3912...

    它这个就像你在走一条直路,你的右手边是一条河,而左手边有很多房子(字母),其中有6间是你的,你要去找你房子的,而你只能一直往前看,不能回头。你的路过的第一间房子门牌是0,第二间房子门牌是1。。房子与房子之间有条巷子(空格)也会占一个门牌号。。。比如你的第一间房子门牌号是3、第二间房子门牌号是7,你经过的牌号是0,1,2时,你心里会一直想着3,直到你到了3号门牌,你就会开始想着7,----------------------所以你心里想的数字=你要找的房子门牌(字母位置),你经过的房子牌号=indexOf(x,y)中的y,你要找谁的房子=indexOf(x,y)中的x

    2016-11-08 12:21:13

    共 1 条回复 >

  • 老友丶
    2016-10-25 21:27:53

    演示代码确实是数的,不过如果知道是找第二个查找项的位置的可以:

    document.write(mystr.indexOf('v',mystr.indexOf('v')+1));
    必须从第一个o位置的后一个开始查找,所以需加1

    //借用了评论第一位的方法。

    老友丶 回复web小菜

    不好意思,一开始打错了,是从第一个v后面的一位开始查找。indexOf()方法的第二个参数是查找开始的位置,因为你查找第二个v,所以你应该从第一个v后面一位开始查找啊,如果不加1,就错第一个v的位置查找,那么你查找出来的位置还是第一个v的位置。 至于你说要查找中间的一个,可以写一个函数来实现循环查找,查找出所有的字母。(个人理解)

    2016-10-26 17:49:30

    共 2 条回复 >

  • EasonWong
    2016-10-25 10:58:01

    http://www.w3school.com.cn/jsref/jsref_indexOf.asp
    看indexOf()方法,作用是找到符合前一个参数的位置。有两个参数,第一个v是想要找到的值,第二个8是开始的位置。

    回答问题,这个8是为了演示,可以根据需求定。

    这边如果不写8,则应该输出love的v的位置,即4.

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题