前端必知必会-JavaScript 字符串函数(上)


JavaScript 字符串方法

基本字符串方法
Javascript 字符串是原始的且不可变的:所有字符串方法都会生成一个新字符串,而不会改变原始字符串。

JavaScript 字符串长度

length 属性返回字符串的长度:

示例

let text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let length = text.length;

提取字符串字符

有 4 种方法可用于提取字符串字符:

  • at(position) 方法
  • charAt(position) 方法
  • charCodeAt(position) 方法
  • 使用属性访问 [] 就像在数组中一样

JavaScript 字符串 charAt()

charAt() 方法返回字符串中指定索引(位置)处的字符:

示例

let text = "HELLO WORLD";
let char = text.charAt(0);

JavaScript 字符串 charCodeAt()

charCodeAt() 方法返回字符串中指定索引处的字符的代码:

该方法返回 UTF-16 代码(0 到 65535 之间的整数)。

示例

let text = "HELLO WORLD";
let char = text.charCodeAt(0);

JavaScript 字符串 at()

ES2022 引入了字符串方法 at():

示例
获取名称的第三个字母:

const name = "W3Schools";
let letter = name.at(2);

获取名称的第三个字母:

const name = "W3Schools";
let letter = name[2];

at() 方法返回字符串中指定索引(位置)处的字符。

自 2022 年 3 月起,所有现代浏览器都支持 at() 方法:

注意
at() 方法是 JavaScript 的新增功能。

它允许使用负索引,而 charAt() 则不允许。

现在您可以使用 myString.at(-2) 而不是 charAt(myString.length-2)。

属性访问 [ ]

示例

let text = "HELLO WORLD";
let char = text[0];

注意

属性访问可能有点不可预测:

它使字符串看起来像数组(但事实并非如此)

如果未找到字符,[ ] 返回未定义,而 charAt() 返回空字符串。

它是只读的。str[0] = “A” 不会给出错误(但不起作用!)

示例

let text = "HELLO WORLD";
text[0] = "A"; // 不给出错误,但不起作用

提取字符串部分

有 3 种方法可以提取字符串的一部分:

  • slice(start, end)
  • substring(start, end)
  • substr(start, length)

JavaScript 字符串切片()

slice() 提取字符串的一部分并在新字符串中返回提取的部分。

该方法采用 2 个参数:起始位置和终止位置(不包括终止位置)。

示例
从位置 7 到位置 13 切出字符串的一部分:

let text = "Apple, Banana, Kiwi";
let part = text.slice(7, 13);

注意
JavaScript 从零开始计数位置。

第一个位置是 0。

第二个位置是 1。

示例
如果省略第二个参数,该方法将切出字符串的其余部分:

let text = "Apple, Banana, Kiwi";
let part = text.slice(7);

如果参数为负数,则位置从字符串末尾开始计算:

let text = "Apple, Banana, Kiwi";
let part = text.slice(-12);

此示例从位置 -12 到位置 -6 切出字符串的一部分:

let text = "Apple, Banana, Kiwi";
let part = text.slice(-12, -6);

JavaScript 字符串 substring()

substring() 与slice()类似。

不同之处在于,在 substring() 中,小于 0 的起始值和结束值将被视为 0。

示例

let str = "Apple, Banana, Kiwi";
let part = str.substring(7, 13);

如果省略第二个参数,substring() 将切出字符串的其余部分。


总结

本文介绍了JavaScript字符串函数(上)的使用,如有问题欢迎私信和评论

猜你喜欢

转载自blog.csdn.net/qq_24018193/article/details/143449848