本次只是对方法的一些介绍,不涉及原理性的的东西,方法内部实现机制,后面有时间进行补充
对比
| 方法名 | 描述 | 入参 | 返回值 |
|---|
| charAt() | 查找指定字符的位置 | 1可选,默认0 | Srting | 否 |
| charCodeAt() | 返回指定位置的字符的Unicode编码 | 1可选,默认0 | Number | 否 |
| concat() | 连接两个后多个字符串 | 不限定,可选 | String | 否 |
| endsWith() | 判断字符串是否以指定的字符串结尾(区分大小写) | 2可选 | Boolean | 否 |
| startsWith() | 判断第字符串是否以指定的字符串开始 | 2可选 | Boolean | 否 |
| formCharCode() | 将Unicode编码专为字符 | 不限定,可选 | String | 否 |
| indexOf() | 指定字符串首次出现的位置 | 2可选 | Number | 否 |
| lastIndexOf() | 从后往前搜索,第一次出现的位置 | 2可选 | Number | 否 |
| includes() | 是否包含指定子字符串 | 2可选 | Boolean | 否 |
| match() | 查找一个活多个正则表达式的匹配 | 2可选 | Boolean | 否 |
| search() | 查找与正则表达式匹配的值 | 2可选 | Number | 否 |
| repeat() | 复制字符串指定次数,并将他们连接在一起返回 | 1可选 | Sting | 否 |
| replace() | 在字符串中查找匹配的子串,并替换与正则表达式匹配的子串 | 2可选 | String | 否 |
| replaceAll() | 在字符串中查找匹配的子串,并替换与正则表达式匹配的所有子串 | 2可选 | String | 否 |
| split() | 将字符串分隔为数组 | 2可选 | Array | 否 |
| slice() | 提取字符串的片段,并在新的字符串中返回被提取部分 | 2可选 | String | 否 |
| substr() | 从起始索引号提取字符串中指定数目的字符 | 2可选 | String | 否 |
| substring() | 提取字符串中两个指定的索引号之间的字符 | 2可选 | String | 否 |
| toLowerCase() | 将字符串转为小写 | - | String | 否 |
| toUpperCase() | 将字符串专为大写 | - | String | 否 |
| toLocalLowerCase() | 根据本地主机的语言环境吧字符串专为小写 | - | String | 否 |
| toLocalLowerCase() | 根据本地主机的语言环境吧字符串专为大写 | - | String | 否 |
| trim() | 去除字符串两边的空白 | - | String | 否 |
| valueOf() | 返回字符串对象的原始值 | - | String | 否 |
| toString() | 返回一个字符串 | - | String | 否 |
charAt()
返回指定位置的字符。第一个位置为0,第二个位置为1,以此类推(和数组索引相似)。
菜鸟教程-字符串charAt
参数
| 参数 | 描述 | 默认值 |
|---|
| index | 可选。字符在字符串中的位置 | 0 |
返回值
实例
'hello word'.charAt(2);
'hello word'.charAt();
charCodeAt()
反悔指定位置的字符的Unicode编码,返回值是0 - 65535之间的整数,表示给索引出的UTF-16代码单元。
菜鸟教程-字符串charAt
参数
| 参数 | 描述 | 默认值 |
|---|
| index | 可选,字符在字符串中的下标 | 0 |
返回值
| 类型 | 描述 |
|---|
| Number | 指定位置的字符的Unicode编码 |
实例
'hello world'.charCodeAt(1);
'hello world'.charCodeAt(0);
'hello world'.charCodeAt();
''.charAt();
'hello'.charCodeAt(20);
可以看出index >= str.length的时候,返回NaN
concat()
连接两个活多个字符串,不改变原字符串。
菜鸟教程-字符串charAt
参数
| 参数 | 描述 |
|---|
| str1, str2 ……, strX | 可选,将被连接为一个字符串的一个或多个字符串 |
返回值
| 类型 | 描述 |
|---|
| String | 两个或多个字符串连接后生成的新字符串 |
实例
const str1 = 'Hello ';
const str2 = 'World ';
const arr = ['k', 'i'];
str1.concat(str2, arr);
'h'.concat();
'h '.concat(undefined);
endsWith()
判断当前字符串是否以指定的字符串结尾的(区分大小写)。
菜鸟教程-字符串charAt
参数
| 参数 | 描述 | 默认值 |
|---|
| searchValue | 可选,要搜索的子字符串 | 'undefined' |
| length | 设置字符串的长度 | 原始字符串的长度 |
返回值
| 类型 | 描述 |
|---|
| Boolean | 如果以指定值结尾返回true,否则false |
实例
let str = 'if you work hard, you will success.'
str.endsWith('success.');
str.endsWith('hard,');
str.endsWith('hard,', 16);
' undefined'.endsWith();
'hh null'.endsWith(null);
'12313'.endsWith(1);
'[1]'.endsWith([1]);
'1'.endsWith([1]);
'[object Array]'.endsWith([]);
'[object Array]'.endsWith([1]);
'[object Object]'.endsWith([]);
'[object Object]'.endsWith({});
startsWith()
检测字符串是否以指定的子字符串开始(大小写敏感)。
菜鸟教程-字符串charAt
参数
| 参数 | 描述 | 默认值 |
|---|
| searchValue | 必需,要查找的字符串 | |
| start | 可选,查找的开始位置 | 0 |
返回值
| 类型 | 描述 |
|---|
| Boolean | 如果字符串是以指定的字符串开头返回true,否则false |
实例
let str = 'try you best';
str.startsWidth('try');
formCharCode()
可接受一个指定的Unicode值,然后返回一个字符串。
该方法是String的静态方法,字符串中的每个字符串都由单独的Unicode数字编码指定,
菜鸟教程-字符串charAt
参数
| 参数 | 描述 |
|---|
| n1, n2, ……, nX | 可选,0个或多个Unicode值 |
返回值
| 类型 | 描述 |
|---|
| String | 返回代表Unicode编码的字符 |
实例
String.fromCharCode(72, 69, 76, 76, 79);
String.fromCharCode();
String.fromCharCode(0);
String.fromCharCode(undefined);
indexOf()
查找指定字符串值在字符串中首次出现的位置(区分大小写)。
菜鸟教程-字符串charAt
参数
| 参数 | 描述 | 默认 |
|---|
| searchvalue | 可选,检索的字符串值 | undefined |
| start | 可选,检索的字符串值 | 0 |
返回值
实例
''.indexOf();
'undefined'.indexOf()
'null'.indexOf(null)
'123'.indexOf(1)
'123'.indexOf([1])
lastIndexOf()
菜鸟教程-字符串charAt
参数
返回值
实例
includes()
返回指定的字符串最后出现的位置,从后往前搜索
菜鸟教程-字符串charAt
参数
| 参数 | 描述 | 默认值 |
|---|
| searchvalue | 可选,规定检测的内容 | undefined |
| start | 可选,检测开始的位置 | 字符串的length - 1 |
返回值
实例
'welcome to read the article'.lastIndexOf('the');
match()
判断字符串中是否包含指定的子字符串(区分大小写)。
菜鸟教程-字符串charAt
参数
| 参数 | 描述 | 默认 |
|---|
| searchvalue | 可选,要查找的字符串 | undefiend |
| start | 从什么位置开始 | 0 |
返回值
| 类型 | 描述 |
|---|
| Boolean | 如果找到指定子字符串,则返回true,否则返回false |
实例
'undefined'.includes();
'null'.includes(null);
'1'.includes([1]);
'2'.includes(2);
repeat()
字符串复制指定次数。
菜鸟教程-字符串charAt
参数
返回值
| 类型 | 描述 |
|---|
| String | 反悔复制指定次数并连接在一起的字符串 |
实例
'hello '.repeat();
'hello '.repeat(2);
replace()
用一个字符替换另一个字符或者与正则匹配的子串。
不改变原是字符串
菜鸟教程-字符串charAt
参数
| 参数 | 描述 | 默认值 |
|---|
| regexp | substr | 可选。规定子字符串或者要替换的模式的RegExp对象 | undefined |
| newSubStr | function | 必须,一个字符串值,规定替换文本或生成替换文本的函数 | undefined |
返回值
实例
'hello world '.replace(' ');
replaceAll()
菜鸟教程-字符串charAt
参数
| 参数 | 描述 | 默认值 |
|---|
| regexp | substr | 可选 | undefined |
| newSubStr | function | 可选 | undefined |
返回值
| 类型 | 描述 |
|---|
| String | 一个新的字符串。固定了替换文本或生成文本的函数 |
实例
'hello world '.replaceAll(' ');
search()
检索字符串中指定的子字符串,或检索与正则表达式想匹配的子字符串。
菜鸟教程-字符串charAt
参数
| 参数 | 描述 | 默认值 |
| --- | --- |
| searchvalue | 可选。查找的字符串或正则表达式 | undefined |
返回值
| 类型 | 描述 |
|---|
| Number | 字符串或正则表达式匹配的String起始位置 |
实例
'undefined'.search();
'213'.search([1]);
'213'.search(1);
'213'.search('1');
split()
将字符串分隔成字符串的数组。
菜鸟教程-字符串charAt
参数
| 参数 | 描述 |
|---|
| separator | 可选。字符串或正则表达式,从该参数指定的地方分隔string |
| limit | 可选。限制返回数组的最大长度 |
返回值
实例
let str = 'Could you do better?';
str.split();
str.split('');
str.split(' ');
str.split(',');
slice()
提取字符串的某一部分,并以新的字符串返回提取的部分。
使用start(包含)和 end(不包含)参数来指定字符串提取的部分。
菜鸟教程-字符串charAt
参数
| 参数 | 描述 | 默认 |
|---|
| start | 可选。如果为负数,则从尾部开始截取 lenght + start | 0 |
| end | 可选。提取片段结尾的后一位,如果为负数,lenght + end | 字符串的长度 |
返回值
实例
'Hello World'.slice(1, 3);
'Hello World'.slice(-3, -1);
substr()
可在字符串中抽取开始下标的指定数目的字符。
substr的参数指定的是子串的开始位置和长度,因为他可以替代substring和slice的方法。
不改变原字符串
菜鸟教程-字符串charAt
参数
| 参数 | 描述 | 默认 |
| --- | --- |
| start | 可选。要抽取的子串的起始下表。可以为负数 | 0 |
| number | 可选,子串的字符数 | 字符串的长度 |
返回值
实例
'Hello ki'.substr();
'Hello ki'.substr(1);
'Hello ki'.substr(1, 2);
substring()
提取字符串中介于两个指定下标之间的字符。
菜鸟教程-字符串charAt
参数
| 参数 | 描述 | 默认 |
|---|
| from | 可选,非负,提取的第一个字符的位置 | 0 | |
| to | 可选,非负,提取的第一个字符的位置 | 字符串长度 |
实例
'hello ki'.substring();
'hello ki'.substring(0, 2);
'hello ki'.substring(6);
toLowerCase()
把字符串转换为小写。
菜鸟教程-字符串charAt
实例
'KI'.toLowerCase();
toUpperCase()
把字符串转换为大写。
菜鸟教程-字符串charAt
实例
'ki'.toLowerCase();
String.prototype.toUpperCase(str)
toLocalLowerCase()
根据本地主机的语言环境吧字符串转换为大写。通常与toLowerCase返回结果一样,只有几种语言(如土耳其语)具有地方特有的大小写映射。
菜鸟教程-字符串charAt
返回值
实例
'KI'.toLocalUppercase();
toLocalUpperCase()
根据本地主机的语言环境吧字符串转换为大写。通常与toUpperCase返回结果一样,只有几种语言(如土耳其语)具有地方特有的大小写映射。
菜鸟教程-字符串charAt
返回值
实例
'ki'.toLocalUppercase();
trim()
删除字符串头尾的空白符,空白符包括:空格、制表符tab、换行符等其他空白符等。
不改变原字符串,不适用于 null, undefined, Number类型
菜鸟教程-字符串charAt
返回值
实例
' ki '.trim();
valueOf()
返回String对象的原始值
valueOf通常有JS在后台自动进行调用,而不是显式地出于代码中。
菜鸟教程-字符串charAt
实例
let str = 'hello';
console.log(str.valueOf());
toString()
返回一个表示String对象的值。
菜鸟教程-字符串charAt
返回值
实例
let str = new String(123);
const str1 = str.toString();
console.log(str);
console.log(str1);