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

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

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

正在回答

4 回答

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

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

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

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

慕粉3912077

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

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

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

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

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

web小菜 提问者

这里的+1,是指的元素v的第2个v,是吗?如果是这样的话,那如果有很多v,那我要找中间的某一个,又怎么写。还是没懂= =
2016-10-26 回复 有任何疑惑可以回复我~
#2

老友丶 回复 web小菜 提问者

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

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

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

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

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

举报

0/150
提交
取消

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

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