indexOf你真的会用吗?
我们都知道indexOf这个库方法 既可以用在数组上也可以用在字符串上,但是还是有细微的区别
例子1
const arr = [1,2,3,4,5]
arr.indexOf(1) // 返回的是 0
那么
arr.indexOf() // 返回的是 -1
arr.indexOf([ ]) // 返回的是 -1
arr.indexOf(’’) // 返回的是 -1
例子2
const str = ‘12345’
str.indexOf(‘1’) // 返回的是0
那么
str.indexOf(’’) //返回的是 ???
答案是 0
那么
str.indexOf(1) ?
str.indexOf([ ]) ?
这里会存在隐式转换
所以依次返回的是 0 0
注意这里的 [ ].toString() 是空字符串 因此和 str.indexOf(’’)的返回结果是一样的
str.indexOf() ? // 返回的是 -1