为什么这些返回此字符串的相同值

Why are these returning the same values of this string?

本文关键字:字符串 返回 为什么      更新时间:2023-09-26

这是我的问题,我正在学习JavaScript,问题是理解为什么这些返回相同的值?我不明白的是lastIndexOf(),它返回的是相同的值10,不应该是12还是8?b 的值是正确的,它是 10..但是,"C"lastIndexOf()不是。

var a = "This is a test string.";
var b = a.indexOf("test");
var c = a.lastIndexOf("test");
document.write(b + "<br>");
document.write(c);

该字符串仅包含"test"的一个实例,因此indexOflastIndexOf的结果应相同。

lastIndexOf查找另一个字符串中子字符串最后一个实例的第一个字符的索引(从字符串的前面开始计数)。

它找不到子字符串中最后一个字符的索引。

它不会从另一个字符串的末尾找到字符数。

lastIndexOf - 将返回 STRING 的最后一次出现。不是字符串的最后一个字符。因此,将返回"test"字符串开始的位置。

嗯,这是正确的。在您的示例中,碰巧"test"具有相同的indexOf()lastIndexOf()索引,因为您只有一次字符串"test"。这两个 JavaScript 函数都返回字符串开头的索引。希望它足够清楚。