跳到主要内容

JavaScript 字符串

提示
  1. 创建和访问字符串:JavaScript 字符串可以通过单引号、双引号或反引号创建,可通过索引或 charAt() 方法访问字符。
  2. 字符串的不可变性和大小写敏感性:字符串在 JavaScript 中是不可变的,任何尝试直接修改字符串的操作都不会成功。另外,JavaScript 对大小写敏感,区分大写和小写字符。
  3. 字符串方法和属性:JavaScript 提供了多种字符串方法,如 concat()toUpperCase()trim()split() 等,用于操作和处理字符串。字符串的 length 属性用于获取其长度。

JavaScript 字符串是一种原始数据类型,用于处理文本。例如,

const name = "John";

创建 JavaScript 字符串

在 JavaScript 中,字符串是通过用引号包围来创建的。有三种引号可以使用。

  • 单引号: 'Hello'
  • 双引号: "Hello"
  • 反引号: Hello

例如,

// 字符串示例
const name = "Peter";
const name1 = "Jack";
const result = `名字是 ${name}${name1}`;

单引号和双引号实际上是相同的,你可以任意使用其中之一。

反引号通常在需要将变量或表达式包含进字符串时使用。这是通过用 ${变量或表达式} 来包裹变量或表达式实现的,如上所示。

你还可以在另一个引号里写引号。例如,

const name = '我的名字是 "Peter"。';

然而,引号不应与外围的引号相匹配。例如,

const name = '我的名字是 'Peter'。'; // 错误

访问字符串字符

有两种方式可以访问字符串中的字符。

  • 一种方式是将字符串视为数组。例如,
const a = "hello";
console.log(a[1]); // "e"
  • 另一种方式是使用 charAt() 方法。例如,
const a = "hello";
console.log(a.charAt(1)); // "e"

JavaScript 字符串是不可变的

在 JavaScript 中,字符串是不可变的。这意味着字符串的字符无法更改。例如,

let a = "hello";
a[0] = "H";
console.log(a); // "hello"

然而,你可以将变量名赋值给一个新字符串。例如,

let a = "hello";
a = "Hello";
console.log(a); // "Hello"

JavaScript 区分大小写

JavaScript 是区分大小写的。这意味着在 JavaScript 中,小写和大写字母被视为不同的值。例如,

const a = "a";
const b = "A";
console.log(a === b); // false

在 JavaScript 中,aA 被视为不同的值。

JavaScript 多行字符串

要使用多行字符串,可以使用 + 运算符或 \ 运算符。例如,

// 使用 + 运算符
const message1 = "这是一个长信息 " + "跨越多行代码的 " + "在代码中。";

// 使用 \ 运算符
const message2 =
"这是一个长信息 \
跨越多行代码的 \
在代码中。";

JavaScript 字符串长度

要找出字符串的长度,可以使用内置的 length 属性。例如,

const a = "hello";
console.log(a.length); // 5

JavaScript 字符串对象

你也可以使用 new 关键字创建字符串。例如,

const a = "hello";
const b = new String("hello");

console.log(a); // "hello"
console.log(b); // "hello"

console.log(typeof a); // "string"
console.log(typeof b); // "object"

注意:建议避免使用字符串对象。使用字符串对象会减慢程序的运行速度。

JavaScript 字符串方法

以下是常用的 JavaScript 字符串方法:

方法描述
charAt(index)返回指定索引处的字符
concat()连接两个或多个字符串
replace()用另一个字符串替换字符串
split()将字符串转换为字符串数组
substr(start, length)返回字符串的一部分
substring(start,end)返回字符串的一部分
slice(start, end)返回字符串的一部分
toLowerCase()以小写形式返回传递的字符串
toUpperCase()以大写形式返回传递的字符串
trim()从字符串中删除空格
includes()搜索字符串并返回布尔值
search()搜索字符串并返回匹配的位置

示例:JavaScript 字符串方法

const text1 = "hello";
const text2 = "world";
const text3 = " JavaScript ";

// 连接两个字符串
const result1 = text1.concat(" ", text2);
console.log(result1); // "hello world"

// 将文本转换为大写
const result2 = text1.toUpperCase();
console.log(result2); // HELLO

// 从字符串中移除空格
const result3 = text3.trim();
console.log(result3); // JavaScript

// 将字符串转换为数组
const result4 = text1.split();
console.log(result4); // ["hello"]

// 切割字符串
const result5 = text1.slice(1, 3);
console.log(result5); // "el"

JavaScript String() 函数

String() 函数用于将各种数据类型转换为字符串。例如,

const a = 225; // 数字
const b = true; // 布尔

// 转换为字符串
const result1 = String(a);
const result2 = String(b);

console.log(result1); // "225"
console.log(result2); // "true"

如果你想了解更多关于字符串转换的信息,请访问 JavaScript 类型转换

转义字符

你可以使用反斜杠转义字符 \ 在字符串中包含特殊字符。例如,

const name = "我的名字是 'Peter'。";
console.log(name);

输出

我的名字是 'Peter'

在上述程序中,使用 \ 包含了相同的引号。

以下是你可以使用 \ 的其他方式:

代码输出
"包含双引号
\包含反斜杠
\n新行
\r回车
\v垂直制表符
\t水平制表符
\b退格
\f换页