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

Bra*_*ois 0 javascript

这是我的问题我正在学习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);
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 6

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

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

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

它找不到另一个字符串末尾的字符数.