JavaScript indexOf字符串函数第二个参数不起作用

JavaScript indexOf字符串函数第二个参数不起作用,javascript,Javascript,由于某些原因,我的第二个参数索引(从何处开始搜索)不起作用。它总是返回4或-1。 其中string test=“Bob jr”和我在about:blank上使用内置JavaScript控制台: > var test = "Bob jr"; > test.indexOf('j', 0); < 4 = $3 > test.indexOf('j', 1); < 4 = $3 > test.indexOf('j', 12); < -1 = $2 var tes

由于某些原因,我的第二个参数索引(从何处开始搜索)不起作用。它总是返回4或-1。 其中string test=“Bob jr”和我在about:blank上使用内置JavaScript控制台:

> var test = "Bob jr";
> test.indexOf('j', 0);
< 4 = $3
> test.indexOf('j', 1);
< 4 = $3
> test.indexOf('j', 12);
< -1 = $2
var test=“Bob jr”; >测试指数('j',0); < 4 = $3 >测试指数('j',1); < 4 = $3 >测试指数('j',12); < -1 = $2
为什么这不起作用?我怎样才能使它起作用?

无论你开始查看
0
还是索引
1
,j仍然在索引
4

您的最后一个示例证明了该参数是有效的,因为您说过要在
j
之后开始(完全超出字符串的末尾),但确实没有找到它

让我们看看
indexOf
的第二个实际参数:

var str=“j和j以及j x”;
log(“搜索字符串:“+str+””);
对于(变量n=0;n}
检查


位置12之后没有
j
,这就是为什么在最后一种情况下得到-1。

indexo如果总是返回调用字符串对象中第一次出现指定值的索引,那么返回值没有改变的原因是因为“j”仍然是字符串中的第五个字符,无论您是否开始搜索,都要在字符串中输入几个字符。

由于
j
不移动,因此每次都会在同一个位置-换句话说,返回的值与搜索的开始位置无关
str.indexOf(searchValue[, fromIndex])