Javascript 简明教程
JavaScript - Strings
JavaScript 中的 String 对象允许您处理一系列字符;它用多个帮助程序方法包装 JavaScript 的字符串基础数据类型。
由于 JavaScript 会在字符串基元和 String 对象之间自动转换,因此您可以在字符串基元上调用 String 对象的任何辅助方法。
字符串是包含 0 个或更多个字符的字符序列。例如,'Hello' 是一个字符串。
Syntax
可以使用 String() 构造函数将 JavaScript 字符串作为对象创建,或者使用字符串字面量作为基本类型创建。
使用以下语法创建 String 对象 −
var val = new String(value);
String 参数(值)是一系列已正确编码的字符。
我们可以使用字符串文字和 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 Object Properties
以下是 String 对象的属性及其说明的列表。
Sr.No. |
Property |
Description |
1 |
返回创建对象的 String 函数的引用。 |
|
2 |
返回字符串的长度。 |
|
3 |
prototype 属性允许您向对象添加属性和方法。 |
JavaScript String Object Methods
以下是 String 对象中可用的方法及其说明的列表。
Static Methods
使用“String”类本身调用静态方法。
Sr.No. |
Property |
Description |
1 |
将 UTF-16 编码单元的序列转换为字符串。 |
|
2 |
从给定的 ASCII 值序列创建一个字符串。 |
Instance Methods
使用 String 类的实例调用实例方法。
Sr.No. |
Method |
Description |
1 |
返回指定索引处的字符。 |
|
2 |
返回指定索引处的字符。 |
|
3 |
返回一个数字,指示给定索引处字符的 Unicode 值。 |
|
4 |
返回一个数字,指示给定索引处字符的 Unicode 值。 |
|
5 |
组合两个字符串的文本并返回一个新字符串。 |
|
6 |
检查字符串是否以特定字符或子字符串结尾。 |
|
7 |
检查一个字符串是否存在于另一个字符串中。 |
|
8 |
从 String 对象内调用中返回指定值的第一个出现的索引,如果未找到,则返回 -1。 |
|
9 |
从 String 对象内调用中返回指定值的最后出现的索引,如果未找到,则返回 -1。 |
|
10 |
返回一个数字,表示引用字符串在排序顺序中是位于指定字符串之前还是之后或与指定字符串相同。 |
|
11 |
用于将正则表达式与字符串进行匹配。 |
|
12 |
用于匹配字符串中出现的所有正则表达式模式。 |
|
13 |
获取字符串的 Unicode 规范化。 |
|
14 |
通过在末尾添加不同的字符串来给当前字符串添加填充。 |
|
15 |
通过在开头添加不同的字符串来给当前字符串添加填充。 |
|
16 |
返回给定模板字面量的原始字符串形式。 |
|
17 |
获取包含当前字符串的 N 个副本的新字符串。 |
|
18 |
用于正则表达式和字符串之间的匹配并使用新的一个替换匹配的子字符串。 |
|
19 |
用于正则表达式和字符串之间的匹配并使用新的一个替换所有匹配的子字符串。 |
|
20 |
执行正则表达式和指定字符串之间匹配的搜索。 |
|
21 |
提取字符串的一部分并返回一个新的字符串。 |
|
22 |
通过将字符串分隔为子字符串,将 String 对象拆分为一个字符串数组。 |
|
23 |
返回从指定位置开始到指定数量个字符为止的字符串中的字符。 |
|
24 |
返回字符串中介于两个索引之间的字符。 |
|
25 |
转换字符串中的字符为小写,同时遵循当前区域设置。 |
|
26 |
转换字符串中的字符为大写,同时遵循当前区域设置。 |
|
27 |
返回已转换为小写的调用字符串值。 |
|
28 |
返回表示指定对象的字符串。 |
|
29 |
返回已转换为大写的调用字符串值。 |
|
30 |
toWellFormed() |
返回一个新字符串,该字符串是此字符串的副本。 |
31 |
它删除了两端的空格。 |
|
32 |
它删除了开始处的空格。 |
|
33 |
它删除了结尾处的空格。 |
|
34 |
返回指定对象的原始值。 |
Examples
让我们通过一些示例来了解 JavaScript 字符串对象和字符串基元。
Example: Creating JavaScript String Objects
在下面的示例中,我们使用带有“new”关键字的 string() 构造函数创建了一个字符串对象。
<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
Accessing a string
你可以使用其索引访问字符串字符。字符串索引从 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 Strings Are Immutable
在 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!
Escape Characters
你可以使用反斜杠 (\) 字符和字符串一起使用特殊字符。以下是特殊字符的列表。
Escape character |
Description |
\" |
Double quote |
\' |
Single quote |
|Backslash |
\n |
New line |
\t |
Tab |
\b |
backspace |
\f |
Form feed |
\v |
Verticle tab |
\r |
Carriage return |
\uXXXX |
在下面的示例中,我们在 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 \
String HTML Wrappers
以下是返回用适当的 HTML 标签包装的字符串副本的方法列表。
Sr.No. |
Method & Description |
1 |
anchor() 创建一个作为超文本目标的 HTML 锚点。 |
2 |
big() 创建一个显示为大号字体(就像在 <big> 标签中一样)的字符串。 |
3 |
blink() 创建一个像在 <blink> 标签中那样闪烁的字符串。 |
4 |
bold() 创建一个显示为粗体(就像在 <b> 标签中一样)的字符串。 |
5 |
fixed()使字符串显示为固定间距字体,就像使用 <tt> 标签一样。 |
6 |
fontcolor()使字符串显示为指定颜色,就像使用 <font color="color"> 标签一样。 |
7 |
fontsize()使字符串显示为指定字体大小,就像使用 <font size="size"> 标签一样。 |
8 |
italics()使字符串显示为斜体,就像使用 <i> 标签一样。 |
9 |
link()创建 HTML 超文本链接,请求其他 URL。 |
10 |
small()使字符串显示为小字体,就像使用 <small> 标签一样。 |
11 |
strike()使字符串显示为删除线文本,就像使用 <strike> 标签一样。 |
12 |
sub()使字符串显示为下标,就像使用 <sub> 标签一样。 |
13 |
sup()使字符串显示为上标,就像使用 <sup> 标签一样。 |
在以下部分中,我们将演示几个示例来展示 String 方法的用法。