scriptvar str="abcdefghijklmnopqrstuvwxyz";document.write("字符串"+str+"中从前到后pq出现的位置是:"+str.indexOf('pq',6)+'br');document.write("字符串"+str+"中从后到前pq出现的位置是:"+str.lastIndexOf('pq',1)+'br');/script(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)
上段代码不论怎么改('pq',1)中数字的值,它就是不改变,还是15和-1!
这是怎么会事?
问题补充:document.write("字符串"+str+"中从前到后pq出现的位置是:"+str.indexOf('pq',6)+'br');
这一句有什么错!就是从第6个字符开始查找pq字符串!应该能找到的啊!怎么是15
上次的回答是错误的 在此道歉。
在javascript中字符串的位置都是从0开始的,并且0永远是左边的第一个字符。
lastIndexOf 是:从左边开始,最后一次出现pq的位置,当你所说的数字的改变范围小于15时,值永远是-1,大于等于15时,值永远是15
实例:
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)str.lastIndexOf('pq',8) 从第8个字符i开始倒数 ihgfedcba为止。并没有出现pq,返回就是-1
str.lastIndexOf('pq',25) 从z开始从右向左找pq