JavaScript 字符串
字符串基础
从本质上讲,字符串是字符的序列,它是 JavaScript 中的一种基本数据类型。字符串是不可变的(immutable),这意味着一旦创建,它就不能被更改。任何看似修改字符串的方法实际上都会返回一个全新的字符串。
您可以使用单引号('...')、双引号("...")或反引号(``)来定义字符串。
要访问单个字符,可以使用括号表示法并传入一个索引。索引是从零开始的,所以第一个字符的索引是 0,第二个是 1,依此类推。
const developer = "Jessica";
console.log(developer[0]); // 输出: "J"
为了在字符串中包含多行或特殊字符,您可以使用转义序列。最常用的是 \n,它会创建一个换行符。要在字符串内部包含引号,您可以在引号前加上一个反斜杠(\)来“转义”它们,以防止 JavaScript 误解。
const poem = "Roses are red,\nJavaScript is fun.";
console.log(poem);
// 输出:
// Roses are red,
// JavaScript is fun.
const statement = "She said, \"Hello!\"";
console.log(statement); // 输出: "She said, "Hello!""
模板字面量与字符串插值
用反引号定义的模板字面量彻底改变了字符串的处理方式。它们支持字符串插值,您可以使用 ${...} 语法将变量和表达式直接嵌入到字符串中。与使用 + 运算符进行传统字符串拼接相比,这使得构建复杂的字符串更加清晰和可读。
const name = "Jessica";
const greeting = `Hello, ${name}!`;
console.log(greeting); // 输出: "Hello, Jessica!"
字符编码:ASCII
计算机并不能真正理解字母,它们理解的是数字。ASCII(美国信息交换标准代码)是一种为每个字符分配一个数字值的标准。您可以使用这个标准在字符及其数字表示之间进行转换。
charCodeAt()方法在一个字符串上调用,并返回指定索引处字符的 ASCII 码。String.fromCharCode()方法将一个 ASCII 码转换为其对应的字符。
const letter = "A";
console.log(letter.charCodeAt(0)); // 输出: 65
const char = String.fromCharCode(65);
console.log(char); // 输出: "A"
其他常用字符串方法
JavaScript 提供了一系列强大的内置方法来操作字符串。以下是一些最常用的:
indexOf(): 这个方法用于搜索子字符串,并返回它第一次出现时的索引。如果未找到子字符串,它会返回 -1。请注意,这个方法区分大小写。const text = "The quick brown fox jumps over the lazy dog."; console.log(text.indexOf("fox")); // 输出: 16 console.log(text.indexOf("cat")); // 输出: -1includes(): 这个方法更简单,用于检查一个字符串是否包含特定的子字符串。如果找到了,它返回true,否则返回false。const text = "The quick brown fox jumps over the lazy dog."; console.log(text.includes("fox")); // 输出: trueslice(): 这个方法提取字符串的一部分并返回一个新字符串,不会修改原始字符串。它接受两个参数:起始索引和可选的结束索引(不包括结束索引处的字符)。const text = "freeCodeCamp"; console.log(text.slice(0, 4)); // 输出: "free"toUpperCase()和toLowerCase(): 这两个方法将整个字符串分别转换为大写或小写,并返回一个新字符串。const text = "Hello, world!"; console.log(text.toUpperCase()); // 输出: "HELLO, WORLD!"replace(): 这个方法允许您找到字符串中指定的子串(如单词或字符),并将其替换为另一个值。它同样返回一个新字符串,而原始字符串保持不变,因为 JavaScript 字符串是不可变的。const text = "I like cats"; console.log(text.replace("cats", "dogs")); // 输出: "I like dogs"repeat(): 这个方法用于将一个字符串重复指定的次数。const text = "Hello"; console.log(text.repeat(3)); // 输出: "HelloHelloHello"trim()、trimStart()和trimEnd(): 这些方法用于移除字符串两端的空白符。trim()移除两端的,trimStart()移除开头的,而trimEnd()移除结尾的。const text = " Hello, world! "; console.log(text.trim()); // 输出: "Hello, world!"
用户交互:prompt() 方法
虽然不是标准的字符串方法,但 prompt() 方法是获取用户字符串输入的好方法。它会创建一个简单的对话框,其中包含一条消息和一个输入框。
[一个提示对话框的图片,上面写着 “What’s your name?” 和一个文本输入框]
const name = window.prompt("What's your name?", "Guest");
console.log(`Hello, ${name}!`);
请记住,prompt() 会暂停脚本的执行,直到用户做出响应,并且它通常用于简单的应用程序或快速测试。
掌握这些基础知识和方法将使您能够处理 JavaScript 中几乎所有的文本相关任务。祝您编码愉快!
更多推荐


所有评论(0)