JavaScript 字符串

JavaScript 字符串简介

在 JavaScript 中,字符串是用双引号(")或单引号(')括起来的字符序列。字符串可以为空(长度为 0),也可以包含一个或多个字符,这些字符可以是字母、数字、符号或中文等。

""         // 空字符串
"绿叶网"
`Hello, JavaScript!`

字符串是 JavaScript 中的基本数据类型之一,主要用于存储和操作文本数据。JavaScript 中的字符串是不可变的,意味着一旦创建,其内容无法直接修改,只能通过创建新字符串来实现更改。

字符串的不可变性,意味着任何看似 “修改” 字符串的操作(如替换、拼接)都会返回一个新字符串,而原字符串保持不变。

提示: ES6 还引入了模板字符串(反引号 `),支持多行字符串和插值。

JavaScript 访问字符串

在 JavaScript 中,如果想要访问字符串中的某个字符,最常用的方式就是使用下标的方式。

语法:

str[n]

说明:

除了下标这种方式,还可以使用 charAt()、at() 等方法来访问,感兴趣的小伙伴可以自行了解一下。

示例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <script>
        const str = "lvyenet";
        const char = str[2];
        console.log(char);
    </script>
</body>
</html>

运行结果如下。

y

JavaScript 字符串方法

在 JavaScript 中,字符串(String 对象)提供了丰富的内置方法,常用的如下表所示。

字符串方法
静态方法
String.raw() 创建不处理转义字符的原始字符串
String.fromCharCode() 根据 Unicode 值创建字符串
String.fromCodePoint() 根据 Unicode 值创建字符串(范围更大)
查找判断
includes() 判断字符串是否 “包含” 指定子串
startsWith() 判断字符串是否以指定子串 “开头”
endsWith() 判断字符串是否以指定子串 “结尾”
indexOf() 返回指定子字符串 “首次” 出现的索引,未找到返回 -1
lastIndexOf() 返回指定子字符串 “最后” 出现的索引,未找到返回 -1
search() 搜索匹配正则表达式的首个位置,未找到返回 -1
match() 返回正则表达式匹配的结果数组,未匹配返回 null
matchAll() 返回正则表达式所有匹配的迭代器
大小写转换
toUpperCase() 转换为纯大写
toLowerCase() 转换为纯小写
toLocaleUpperCase() 根据本地化规则转换为纯大写
toLocaleLowerCase() 根据本地化规则转换为纯小写
去除空格
trim() 去除 “两端” 的空白字符
trimStart() 去除 “开头” 的空白字符
trimEnd() 去除 “末尾” 的空白字符
获取元素
at() 返回指定索引处的字符,支持负索引
charAt() 返回指定索引处的字符
charCodeAt() 返回指定索引处字符的 Unicode 值
codePointAt() 返回指定索引处字符的 Unicode 值(范围更大)
截取
slice() 提取字符串的指定部分(支持负索引),返回新字符串
substring() 提取字符串的指定部分(不支持负索引),返回新字符串
替换
replace() 替换字符串中 “首次” 匹配的子字符串或正则表达式,返回新字符串
replaceAll() 替换字符串中 “所有” 匹配的子字符串或正则表达式,返回新字符串
填充
padStart() 在字符串 “开头” 填充指定字符至目标长度
padEnd() 在字符串 “末尾” 填充指定字符至目标长度
其他
split() 将字符串按指定分隔符分割成数组
concat() 合并多个字符串,返回新字符串
repeat() 将字符串重复指定次数,返回新字符串
localeCompare() 比较两个字符串的本地化排序顺序,返回数字
通用
toString() 返回字符串对象的字符串表示
toLocaleString() 返回字符串对象的本地化字符串表示
valueOf() 返回字符串对象的原始值

提示:在 JavaScript 开发中,字符串极其重要。因此学完这一章之后,建议小伙伴们把表中这些字符串方法都过一遍。信哥一句话,这个对你帮助是非常大的。

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号