关于Javascript中字符串函数indexOf出现的问题?

http://tech.ddvip.com   2007年10月25日    社区交流

本文详细介绍关于Javascript中字符串函数indexOf出现的问题?

<script>
var str="abcdefghijklmnopqrstuvwxyz";
document.write("字符串"+str+"中从前到后pq出现的位置是:"+str.indexOf('pq',6)+'<br>');
document.write("字符串"+str+"中从后到前pq出现的位置是:"+str.lastIndexOf('pq',1)+'<br>');
</script>

  上段代码不论怎么改('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

  实例:

  str.lastIndexOf('pq',8) 从第8个字符i开始倒数 ihgfedcba为止。并没有出现pq,返回就是-1

  str.lastIndexOf('pq',25) 从z开始从右向左找pq

责编:豆豆技术应用

正在加载评论...