JavaScript charAt() 语法
charAt() 是 JavaScript 字符串的一个方法,它用于获取字符串中 “指定索引(下标)” 的字符。
语法:
str.charAt(index)说明:
charAt() 方法接收单个参数。
index(可选):表示索引(下标),值从 0 开始。其默认值为 0,也就是说当 index 省略时,表示获取第 1 个字符。
注意: 如果 charAt() 的索引超出范围,即小于 0 或大于 str.length-1,则会返回一个空字符串。
JavaScript charAt() 摘要
| 属于 | JavaScript String 对象 |
|---|---|
| 使用频率 | 中 |
| 修改原字符串 | 否 |
| 官方文档 | 查看 |
| MDN | 查看 |
JavaScript charAt() 示例
接下来,我们通过几个简单的例子来讲解一下 JavaScript charAt() 方法是如何使用的。
示例 1:charAt() 基本用法
const str = "绿叶网";
console.log(str.charAt(0));
console.log(str.charAt(1));
console.log(str.charAt(2));运行结果如下。
绿
叶
网示例 2:charAt() 不带参数
const str = "绿叶网";
console.log(str.charAt());运行结果如下。
绿分析:
当 charAt() 不带参数时,表示获取第 1 个字符。也就是说,str.charAt() 等价于 str.charAt(0)。
示例 3:charAt() 的索引超出范围
const str = "绿叶网";
const result = str.charAt(-2);
console.log(result === "");
console.log(result.length);运行结果如下。
true
0分析:
当 charAt() 方法的参数值不在范围内时,会返回一个空字符串。
示例 4:charAt() 获取最后一个字符
const str = "绿叶网";
const index = str.length - 1;
console.log(str.charAt(index));运行结果如下。
网示例 5:使用 charAt() 遍历字符串
const str = "lvye";
for (let i = 0; i < str.length; i++) {
console.log(str.charAt(i));
}运行结果如下。
l
v
y
e分析:
我们可以结合 for 循环 和 charAt() 方法来遍历字符串中的每一个字符。
charAt() 与 “[]” 访问符的区别
字符串的 charAt() 方法和方括号 “[]” 都可以获取指定位置的字符,但它们之间存在一定的区别:当访问的索引超出字符串的有效范围时,charAt() 会返回一个空字符串,而 “[]” 访问符则会返回 undefined。
示例 6:charAt() vs []
const str = "lvyenet";
console.log(str.charAt(10));
console.log(str[10]);运行结果如下。
(空字符串)
undefinedcharAt() 与 at() 的区别
charAt() 和 at() 这两个方法非常相似,它们都是通过下标来获取字符串中的某个字符。但它们之间也存在明显区别:charAt() 无法使用负下标,而 at() 可以使用负下标。
实际上,ES6+ 推出 at() 方法,其目的就是为了取代 charAt() 方法。在实际开发中,我们也更推荐使用 at() 方法。
示例 7:获取最后一个字符
const str = "JavaScript";
// charAt()
const index = str.length - 1;
const result2 = str.charAt(index);
console.log(result2);
// at()
const result1 = str.at(-1);
console.log(result1);运行结果如下。
t
t分析:
可以明显看出,如果想要获取倒数第 n 个元素时,at() 比 charAt() 简单太多。
