欢迎来到JS复习专栏,本文章的主要内容是内置对象string查找类方法
JavaScript 中的对象分为3种:自定义对象、内置对象、浏览器对象。
前面两种对象:是JS的基础内容,属于ECMAScript; 第三个浏览器对象:属于JS独有,即 JS 内置的API。
内置对象:就是指这个语言自带的一些对象,供开发者使用,这些对象提供了一些常用或者最基本而必要的功能(属性和方法)。
内置对象最大的优点就是帮助我们快速开发。
在日常开发中,String 对象(字符串对象)的使用频率是非常高的。
需要注意的是:
字符串的所有方法,都不会改变原字符串(字符串的不可变性),操作完成后会返回一个新的值。
常见方法:
查找字符串
indexOf()/lastIndexOf():获取字符串中指定内容的索引
这个方法,是使用频率最高的一个方法。
备注:
indexOf() 是从前向后查找字符串的位置。同理,lastIndexOf()是从后向前寻找。
检索一个字符串中是否含有指定内容。如果字符串中含有该内容,则会返回其第一次出现的索引;如果没有找到指定的内容,则返回 -1。
如果获取的索引值为 0,说明字符串是以查询的参数为开头的。
如果获取的索引值为-1,说明这个字符串中没有指定的内容。
这个方法还可以指定第二个参数,用来指定查找的起始位置。语法如下:
索引值 = str.indexOf(想要查询的字符串, [起始位置]);
search():获取字符串中指定内容的索引(参数里一般是正则)
语法:
索引值 = str.search(想要查找的字符串);
索引值 = str.search(正则表达式);
备注:
search() 方法里的参数,既可以传字符串,也可以传正则表达式。
includes():字符串中是否包含指定的内容
语法:
布尔值 = str.includes(想要查找的字符串, [position]);
判断一个字符串中是否含有指定内容。如果字符串中含有该内容,则会返回 true;否则返回 false。
参数中的 position:如果不指定,则默认为0;如果指定,则规定了检索的起始位置。
startsWith():字符串是否以指定的内容开头
语法:
布尔值 = str.startsWith(想要查找的内容, [position]);
判断一个字符串是否以指定的子字符串开头。如果是,则返回 true;否则返回 false。
参数中的position:
如果不指定,则默认为0。
如果指定,则规定了检索的起始位置。检索的范围包括:这个指定位置开始,直到字符串的末尾。即:([position, str.length)
endsWith():字符串是否以指定的内容结尾
语法:
布尔值 = str.endsWith(想要查找的内容, [position]);
判断一个字符串是否以指定的子字符串结尾。如果是,则返回 true;否则返回 false。
参数中的position:
如果不指定,则默认为 str.length。
如果指定,则规定了检索的结束位置。检索的范围包括:从第一个字符串开始,直到这个指定的位置。即:[0, position)
简单理解:endsWith() 方法里的position,表示检索的长度。
注意:startsWith() 和 endsWith()这两个方法,他们的 position 的含义是不同的,请仔细区分。