在javascript中搜索str.indexOf()中的空字符串

时间:2018-04-28 05:31:09

标签: javascript

使用String.indexOf(searchValue[,fromindex])搜索空字符串会返回以下代码段中给出的意外结果。

console.log('foo'.indexOf('')) // 0
console.log('foo'.indexOf('',2)) // 2
console.log('foo'.indexOf('',3)) // 3
console.log('foo'.indexOf('',4)) // 3
console.log('foo'.indexOf('',100)) // 3

2 个答案:

答案 0 :(得分:3)

它搜索第一个匹配,从第二个参数给出的位置开始(fromIndex - 如果有的话)。但空字符串将始终尽快匹配;毕竟,这是一个空字符串。当您提供的fromIndex大于字符串的长度时,它只是运行测试,就像fromIndex是字符串的长度一样:

  

表示开始搜索的索引的整数;默认值为0.对于fromIndex值小于0或大于str.length,搜索分别从索引0和str.length开始。

答案 1 :(得分:1)

空字符串随处可见,例如对于你的第一个日志,空字符串存在于字符串的第一个字符串中,你可以想到" foo" as"" +" foo",与其他日志相同。基本上indexOf返回此对象表示的字符序列中第一次出现的字符的索引,如果字符没有出现,则返回-1。