JavaScript字符串不可变,常用方法分四类:获取信息(如length、charCodeAt)、查找提取(如indexOf、slice)、转换格式(如toLowerCase、trim)、分割替换(如split、replace)。

JavaScript 字符串是不可变的原始类型,所有字符串方法都不会修改原字符串,而是返回新字符串或相关值。掌握常用方法能高效处理文本数据。
获取字符串信息
用于查询长度、单个字符、字符编码等基础信息。
-
length:返回字符串长度(UTF-16 单位),如
"??".length得到 2(因 emoji 是代理对) -
charAt(index):返回指定位置的字符,越界返回空字符串;
str[0]也可访问,但不兼容 IE8- - charCodeAt(index):返回 UTF-16 编码值;codePointAt(index) 支持 Unicode 码点(如 emoji)
- includes(substr)、startsWith(substr)、endsWith(substr):返回布尔值,支持第二个参数(起始位置)
查找与提取子串
定位内容位置或截取片段,注意索引从 0 开始,且部分方法区分大小写。
- indexOf(substr) 和 lastIndexOf(substr):返回首次/末次出现的索引,未找到返回 -1
- search(regex):仅支持正则,返回匹配位置,不支持全局标志 g
-
slice(start, end):支持负数索引(从末尾计),
end不包含;substring(start, end) 会自动交换大小顺序;substr(start, length) 已废弃,避免使用
转换与格式化
改变字符串外观或结构,常用于标准化输入、生成 HTML 或适配显示需求。
立即学习“Java免费学习笔记(深入)”;
-
toLowerCase() / toUpperCase():按 Unicode 规则转换,比
toLocaleLowerCase()更通用(后者考虑语言环境) - trim()、trimStart()、trimEnd():去除空白字符(包括全角空格、换行符等)
-
padStart(len, padStr) / padEnd(len, padStr):补全长度,如
"5".padStart(2, "0")→"05" -
repeat(count):重复字符串,
"x".repeat(3)→"xxx"
分割、连接与替换
处理结构化文本或批量修改内容,常配合数组方法使用。
-
split(separator, limit):按分隔符切分为数组,
""表示每个字符拆开;支持正则 -
join(separator):数组方法,但常与
split配合使用,如str.split("").reverse().join("")实现翻转 -
replace(searchValue, newValue):只替换第一个匹配项;用正则加
g标志可全局替换,newValue可为函数实现动态替换 -
replaceAll(searchValue, newValue):ES2021 新增,直接全局替换(支持字符串或正则,正则必须带
g)
基本上就这些——日常开发中 90% 的字符串操作靠这四类方法就能覆盖。注意方法名大小写、参数含义和返回值类型,避免误改原字符串或忽略 Unicode 边界情况。











