js中的indexOf 和 lastIndexOf 方法

indexOf()和lastIndexOf是从字符串中查找子字符串。它们都从一个字符串中搜索给定的字符串,然后返给子字符串的位置

(若没有找到该子字符串则返回-1)

区别:indexOf()方法从字符串开头向后搜索子字符串,lastIndexOf()从字符串尾向前开始搜索子字符串

这里可能有些人会和我一样犯一些迷糊

如这个题:

    var stringVal = "hrello world"
    alert(stringVal.indexOf("r"));
    alert(stringVal.lastIndexOf("r"));

运行结果显示是  1和9

刚开始我以为结果应该是 1 和10,其实这里的lastIndexOf()只是从后面开始搜索而已,它的索引位置还是从0开始的,所以不要和我一样误解了。

这两个方法都可以接收可选的第二个参数,表示从字符串中的哪个位置开始搜索。indexOf()会从该参数指定的位置向后搜索,忽略该位置之前的所有字符;lastIndexOf()则会从指定的位置向前搜索,忽略该位置之后的所有字符

如:

var stringValue = "hello world";
alert(stringValue.indexof("o",6));
alert(stringValue.lastIndexOf("o",6));

第一个结果是7,第二个结果是4

猜你喜欢

转载自blog.csdn.net/qq_41795427/article/details/83999594