Javascript 为什么它们返回相同的字符串值?

Javascript 为什么它们返回相同的字符串值?,javascript,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

这是我的问题,我正在学习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);
var a=“这是一个测试字符串。”;
var b=a.indexOf(“测试”);
var c=a.lastIndexOf(“测试”);
文件。写(b+“
”); 文件。编写(c);
字符串仅包含一个“test”实例,因此
indexOf
lastIndexOf
的结果应该相同

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

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


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

该字符串只包含一个“test”实例,因此
indexOf
lastIndexOf
的结果应该相同

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

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


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

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

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

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

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

因为
测试
从位置
10
开始-
lastIndexOf
不取最后一个字符-它取最后一个实例。
测试只出现一次,所以它的第一次和最后一次出现在同一位置。。。用
“这是一个测试字符串”来尝试它。
因此,如果我在一个字符串中有两次测试,比如“Hello This is test number 1,Hello This is test number 2”。它会显示test number 2作为最后一个实例,因为它是字符串中的最后一个“test”字?所以在这种情况下,indexOf是14,最后一个indexOf是10?你最后的假设是错误的,我甚至不知道你从哪里得到14和10。只需阅读下面的答案,这些答案都很清楚……用字符串中的“test”试两次。例如a=“此测试是一个测试字符串。”您将看到区别。因为
“测试”
从位置
10
-
lastIndexOf
不使用最后一个字符-它使用最后一个实例。
test
只显示一次,所以它的第一次和最后一次出现在同一位置。。。用
“这是一个测试字符串”来尝试它。
因此,如果我在一个字符串中有两次测试,比如“Hello This is test number 1,Hello This is test number 2”。它会显示test number 2作为最后一个实例,因为它是字符串中的最后一个“test”字?所以在这种情况下,indexOf是14,最后一个indexOf是10?你最后的假设是错误的,我甚至不知道你从哪里得到14和10。只需阅读下面的答案,这些答案都很清楚……用字符串中的“test”试两次。例如a=“此测试是一个测试字符串。”您将看到差异。