使用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
答案 0 :(得分:3)
它搜索第一个匹配,从第二个参数给出的位置开始(fromIndex
- 如果有的话)。但空字符串将始终尽快匹配;毕竟,这是一个空字符串。当您提供的fromIndex
大于字符串的长度时,它只是运行测试,就像fromIndex
是字符串的长度一样:
表示开始搜索的索引的整数;默认值为0.对于fromIndex值小于0或大于str.length,搜索分别从索引0和str.length开始。
答案 1 :(得分:1)
空字符串随处可见,例如对于你的第一个日志,空字符串存在于字符串的第一个字符串中,你可以想到" foo" as"" +" foo",与其他日志相同。基本上indexOf返回此对象表示的字符序列中第一次出现的字符的索引,如果字符没有出现,则返回-1。