JavaScript - 字符串



JavaScript 中的String 对象允许你处理一系列字符;它使用许多辅助方法包装 JavaScript 的字符串原始数据类型。

由于 JavaScript 自动在字符串原始值和 String 对象之间进行转换,因此你可以对字符串原始值调用 String 对象的任何辅助方法。

字符串是一系列字符,包含 0 个或多个字符。例如,'Hello' 是一个字符串。

语法

可以使用 String() 构造函数创建 JavaScript 字符串对象,或者使用字符串字面量创建字符串原始值。

使用以下语法创建 String 对象:

var val = new String(value);

String 参数 value 是一系列已正确编码的字符。

我们可以使用字符串字面量和 String() 函数创建字符串原始值,如下所示:

str1 = 'Hello World!'; // using single quote
str2 = "Hello World!"; // using double quote
str3 = 'Hello World'; // using back ticks
str4 = String('Hello World!'); // using String() function

JavaScript 字符串对象属性

以下是 String 对象的属性列表及其描述。

序号 属性 描述
1 constructor 返回创建该对象的 String 函数的引用。
2 length 返回字符串的长度。
3 prototype prototype 属性允许你向对象添加属性和方法。

JavaScript 字符串对象方法

以下是 String 对象中可用的方法列表及其描述。

静态方法

静态方法使用“String”类本身调用。

序号 属性 描述
1 fromCharCode() 将 UTF-16 代码单元序列转换为字符串。
2 fromCodePoint() 根据给定的 ASCII 值序列创建字符串。

实例方法

实例方法使用 String 类的实例调用。

序号 方法 描述
1 at() 返回指定索引处的字符。
2 charAt() 返回指定索引处的字符。
3 charCodeAt() 返回一个数字,表示给定索引处字符的 Unicode 值。
4 codePointAt() 返回一个数字,表示给定索引处字符的 Unicode 值。
5 concat() 组合两个字符串的文本并返回一个新字符串。
6 endsWith() 检查字符串是否以特定字符或子字符串结尾。
7 includes() 检查一个字符串是否存在于另一个字符串中。
8 indexOf() 返回在调用 String 对象中指定值的第一次出现的索引,如果未找到则返回 -1。
9 lastIndexOf() 返回在调用 String 对象中指定值的最后一次出现的索引,如果未找到则返回 -1。
10 localeCompare() 返回一个数字,指示引用字符串在排序顺序中是在给定字符串之前、之后还是与之相同。
11 match() 用于将正则表达式与字符串匹配。
12 matchAll() 用于匹配字符串中正则表达式模式的所有出现。
13 normalize() 获取字符串的 Unicode 规范化。
14 padEnd() 使用不同的字符串在结尾处添加填充到当前字符串。
15 padStart() 使用不同的字符串在开头处添加填充到当前字符串。
16 raw() 返回给定模板字面量的原始字符串形式。
17 repeat() 获取包含当前字符串的 N 个副本的新字符串。
18 replace() 用于查找正则表达式和字符串之间的匹配项,并将匹配的子字符串替换为新的子字符串。
19 replaceAll() 用于查找正则表达式和字符串之间的匹配项,并将所有匹配的子字符串替换为新的子字符串。
20 search() 执行对正则表达式和指定字符串之间匹配项的搜索。
21 slice() 提取字符串的一部分并返回一个新字符串。
22 split() 将字符串对象分割成字符串数组,通过将字符串分割成子字符串。
23 substr() 返回从指定位置开始,包含指定数量字符的字符串中的字符。
24 substring() 返回字符串中两个索引之间的字符。
25 toLocaleLowerCase() 字符串中的字符转换为小写,同时尊重当前区域设置。
26 toLocaleUpperCase() 字符串中的字符转换为大写,同时尊重当前区域设置。
27 toLowerCase() 返回调用字符串值转换为小写后的结果。
28 toString() 返回表示指定对象的字符串。
29 toUpperCase() 返回调用字符串值转换为大写后的结果。
30 toWellFormed() 返回一个新字符串,它是此字符串的副本。
31 trim() 去除两端空格。
32 trimEnd() 去除尾部空格。
33 trimStart() 去除头部空格。
34 valueOf() 返回指定对象的原始值。

String 构造函数

序号 构造函数 描述
1 String() 创建一个字符串对象并用提供的值初始化它。

示例

让我们通过一些示例来了解 JavaScript 字符串对象和字符串原语。

示例:创建 JavaScript 字符串对象

在下面的示例中,我们使用 `string()` 构造函数和 `new` 关键字来创建一个字符串对象。

<html>
<head>
   <title> JavaScript - String Object </title>
</head>
<body>
   <p id = "output"> </p>
   <script>
      const output = document.getElementById("output");
      const str = new String("Hello World!");
      output.innerHTML += "str == " + str + "<br>";
      output.innerHTML += "typeof str == " + typeof str;
   </script>
</body>
</html>

输出

str == Hello World!
typeof str == object

访问字符串

您可以使用其索引访问字符串字符。字符串索引从 0 开始。

示例

在下面的示例中,我们访问字符串第 0 个和第 4 个索引处的字符。

<html>
<body>
   <p id = "output"> </p>
   <script>
      const output = document.getElementById("output");
      let str1 = new String("Welcome!");
      let str2 = "Welcome!";
      output.innerHTML += "0th character is - " + str1[0] + "<br>";
      output.innerHTML += "4th character is - " + str2[4] + "<br>";
   </script>
</body>
</html>
输出
0th character is - W
4th character is - o

JavaScript 字符串区分大小写

在 JavaScript 中,字符串区分大小写。这意味着小写和大写字符是不同的。

示例

在下面的示例中,char1 包含大写字母“S”,char2 包含小写字母“s”。当您比较 char1 和 char2 时,它返回 false,因为字符串区分大小写。

<html>
<head>
   <title> JavaScript - String case-sensitivity </title>
</head>
<body>
   <p id = "output"> 

<script> let char1 = 'S'; let char2 = 's' let ans = char1 == char2; document.getElementById("output").innerHTML += "s == S " + ans; </script> </body> </html>

输出
s == S false

JavaScript 字符串是不可变的

在 JavaScript 中,您不能更改字符串的字符。但是,您可以更新整个字符串。

示例

在下面的示例中,我们尝试更新字符串的第一个字符,但它不会被更新,您可以在输出中看到这一点。

之后,我们更新整个字符串,您可以观察字符串的变化。

<html>
<head>
   <title> JavaScript − Immutable String </title>
</head>
<body>
   <p id = "output"> </p>
   <script>
      const output = document.getElementById("output");
      let str = "Animal";
      str[0] = 'j';
      output.innerHTML += "The string is: " + str + "<br>";
      str = "Hi!";
      output.innerHTML += "The updated string is: " + str;
   </script>
</body>
</html>
输出
The string is: Animal
The updated string is: Hi!

转义字符

您可以使用反斜杠 (\) 字符在字符串中使用特殊字符。以下是特殊字符列表。

转义字符 描述
\" 双引号
\' 单引号
\\ 反斜杠
\n 换行
\t 制表符
\b 退格
\f 换页
\v 垂直制表符
\r 回车
\uXXXX Unicode 转义

示例

在下面的示例中,我们在 str1 字符串的字符之间添加了一个单引号,在 str2 字符串的字符之间添加了一个反斜杠。

<html>
<head>
   <title> JavaScript - Escape Characters </title>
</head>
<body>
   <p id = "output"> </p>
   <script>
      const output = document.getElementById("output");
      let str1 = "Your\'s welcome!";
      let str2 = "Backslash \\";
      output.innerHTML += "str1 == " + str1 + "<br>";
      output.innerHTML += "str2 == " + str2 + "<br>";
   </script>
</body>
</html>
输出
str1 == Your's welcome!
str2 == Backslash \

字符串 HTML 包装器

以下是一些返回包装在适当 HTML 标签中的字符串副本的方法列表。

序号 方法和说明
1

anchor()

创建一个用作超文本目标的 HTML 锚。

2

big()

创建一个以大字体显示的字符串,就像它在``标签中一样。

3

blink()

创建一个闪烁的字符串,就像它在``标签中一样。

4

bold()

创建一个以粗体显示的字符串,就像它在``标签中一样。

5

fixed()

使字符串以等宽字体显示,就像它在``标签中一样。

6

fontcolor()

使字符串以指定颜色显示,就像它在``标签中一样。

7

fontsize()

使字符串以指定字体大小显示,就像它在``标签中一样。

8

italics()

使字符串以斜体显示,就像它在``标签中一样。

9

link()

创建一个请求另一个 URL 的 HTML 超文本链接。

10

small()

使字符串以小字体显示,就像它在``标签中一样。

11

strike()

使字符串显示为删除线文本,就像它在``标签中一样。

12

sub()

使字符串显示为下标,就像它在``标签中一样。

13

sup()

使字符串显示为上标,就像它在``标签中一样。

在以下部分,我们将有一些示例来演示字符串方法的使用。

广告