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

嗨,可以帮我看一下咩?求助T-T

这个document.write(mystr.indexOf('o',mystr.indexOf('o')+1));和document.write(mystr.indexOf('o',mystr.indexOf('o'+1)));有什么区别呢?

我觉得一样啊。。。可是这个http://img1.sycdn.imooc.com//58eb2c830001c8cf05760394.jpg

正在回答

2 回答

怎么可能一样呢!?mystr.indexOf('o')+1 ,这个首先找到o位置,+1后是,就是从第一个o后面开始查找。返回的结果应该是第二个o的位置。

mystr.indexOf('o'+1) 这里的‘o’+1 会变成查找‘o1’这个字符的位置。返回结果是-1.整体看就是查找‘o’,开始位置是-1。返回的结果应该是第一个o的位置。

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

Momo_____ 提问者

那个。。我好像还是有点懵圈。。返回结果是负一,这个我理解,但是为什么整体看就是查找'o'呢?为什么开始位置是-1。。。。。QAQ
2017-04-10 回复 有任何疑惑可以回复我~
#2

YJames2011 回复 Momo_____ 提问者

很明显的嵌套啊。mystr.indexOf('o'+1) 返回就结果是-1,那么语句就可以解析成 document.write(mystr.indexOf("0",-1));这里的-1就是上面的返回结果。indexOf的第二个参数有效范围是0~str.length-1。由于-1不在范围内。所以应该是忽略了(具体原理不清)。
2017-04-10 回复 有任何疑惑可以回复我~
#3

Momo_____ 提问者 回复 YJames2011

嗯呐~蟹蟹你吖~~晚安啦
2017-04-10 回复 有任何疑惑可以回复我~

你的前一个少了一个后括号啊。

+1后面是三个后括号

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

举报

0/150
提交
取消

嗨,可以帮我看一下咩?求助T-T

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