这是lastIndexOf上的javascript问题吗?

这是lastIndexOf上的javascript问题吗?,javascript,lastindexof,Javascript,Lastindexof,W3C编写 string.lastIndexOf(searchvalue,start) 字符串从头到尾搜索,但返回从开头开始的索引,位置为0。 如果要搜索的值从未出现,则此方法返回-1 开始是可选的。开始搜索的位置(向后搜索)。如果省略,默认值是字符串的长度 演示: 返回=>1 看起来像是真的,但是 var str = "abcdbef"; str.lastIndexOf('d',1); //=> -1 str.lastIndexOf('d',2); //=> -1 为什么它返回

W3C编写

string.lastIndexOf(searchvalue,start)
字符串从头到尾搜索,但返回从开头开始的索引,位置为0。 如果要搜索的值从未出现,则此方法返回-1

开始是可选的。开始搜索的位置(向后搜索)。如果省略,默认值是字符串的长度

演示:

返回=>1

看起来像是真的,但是

var str = "abcdbef";
str.lastIndexOf('d',1); //=> -1
str.lastIndexOf('d',2); //=> -1

为什么它返回-1而不是3??

因为它正在从1和2索引向后搜索。在
str的
abc
之前没有
d

第二个参数表示从给定索引向后搜索

var str = "abcdbef";
str.lastIndexOf('d',1); // it is searching backwards for d from first b and there is no d so -1
请看下面
var str = "abcdbef";
str.lastIndexOf('d',1); // it is searching backwards for d from first b and there is no d so -1