js search和indexof
时间: 2023-10-17 07:22:39 浏览: 62
基于js 字符串indexof与search方法的区别(详解)
JavaScript 中的 `search` 和 `indexOf` 方法都可以用于字符串中查找子字符串的位置,但它们有一些不同之处。
`search` 方法可以使用正则表达式来查找匹配项。它返回第一个匹配项的索引,如果没有找到匹配项,则返回 `-1`。例如:
```javascript
let str = "Hello World";
console.log(str.search("World")); // 输出 6
console.log(str.search(/world/i)); // 输出 6,i 表示不区分大小写
console.log(str.search(/world/)); // 输出 -1,因为区分大小写
```
`indexOf` 方法只能查找普通字符串,不能使用正则表达式。它返回第一个匹配项的索引,如果没有找到匹配项,则返回 `-1`。例如:
```javascript
let str = "Hello World";
console.log(str.indexOf("World")); // 输出 6
console.log(str.indexOf("world")); // 输出 -1,因为区分大小写
```
因此,如果你需要使用正则表达式来查找子字符串,应该使用 `search` 方法。如果你只需要查找普通字符串,可以使用 `indexOf` 方法,这样更高效一些。
阅读全文