上一节我们学习了Number对象,本节我们继续学习JS中另一个重要的内置对象——String对象。
String对象,顾名思义就是处理文本字符串的对象。
1. 创建String对象的语法:
let str = new String(value) // 创建字符串对象
2. 如何创建?
/* 完整的三种创建方式: */
let str1 = "Dotcpp编程"; // 字面量方式 - 原始值类型
let str2 = String("Dotcpp编程"); // 函数调用方式 - 原始值类型
let str3 = new String("Dotcpp编程"); // 构造函数方式 - String对象类型3. String对象有哪些静态属性:
| 函数/内置变量 | 说明 |
|---|---|
| String.prototype | String 对象的原型,用于向所有 String 实例添加属性和方法 |
| String.length | String构造函数的length属性,值为1 |
比如电话号码都是11位,我们可以通过.length这个属性来判断一个数字字符串是不是11位进而判断是不是合法电话号码:
let tel = '12345678910'
if(tel.length===11)console.log('该数字串满足11位的要求');4. String对象有哪些静态方法:
| 函数/内置变量 | 说明 |
|---|---|
| String.fromCharCode() | 通过Unicode编码创建字符串 |
| String.fromCodePoint() | 通过码点创建字符串(支持Unicode扩展) |
| String.raw() | 返回模板字符串的原始字符串 |
工作时,我们通常使用String.fromCharCode()来将字符编码转换为字符串。
console.log(String.fromCharCode(65, 66, 67)); // "ABC" - 将编码转为字符 console.log(String.fromCodePoint(0x1F600)); // "😀" - 支持表情符号 console.log(String.raw`Hello\nDotcpp`); // "Hello\nDotcpp" - 显示字面字符
5. String对象有哪些实例属性:
| 函数/内置变量 | 说明 |
|---|---|
| length | 返回字符串的长度 |
6. String对象有哪些实例方法:
| 函数/内置变量 | 说明 |
|---|---|
| charAt() | 返回指定位置的字符 |
| charCodeAt() | 返回指定位置字符的Unicode编码 |
| codePointAt() | 返回指定位置字符的码点 |
| indexOf() | 返回指定子字符串首次出现的位置 |
| lastIndexOf() | 返回指定子字符串最后一次出现的位置 |
| includes() | 判断是否包含指定子字符串 |
| startsWith() | 判断是否以指定子字符串开头 |
| endsWith() | 判断是否以指定子字符串结尾 |
| concat() | 连接多个字符串 |
| slice() | 提取字符串的片段 |
| substring() | 提取字符串中两个指定索引之间的字符 |
| substr() | 从指定位置提取指定长度的字符串 |
| split() | 将字符串分割为字符串数组 |
| repeat() | 将字符串重复指定次数 |
| toLowerCase() | 将字符串转换为小写 |
| toUpperCase() | 将字符串转换为大写 |
| trim() | 去除字符串两端的空白字符 |
| trimStart() | 去除字符串开始的空白字符 |
| trimEnd() | 去除字符串结尾的空白字符 |
| padStart() | 在字符串开头填充指定字符到指定长度 |
| padEnd() | 在字符串结尾填充指定字符到指定长度 |
| match() | 使用正则表达式匹配字符串 |
| matchAll() | 返回所有正则表达式匹配的迭代器 |
| search() | 搜索正则表达式匹配的位置 |
| replace() | 替换正则表达式匹配的子字符串 |
| replaceAll() | 替换所有匹配的子字符串 |
这里有很多常用函数,比如工作时,我们通常会使用这些方法来进行字符串处理和验证。
const str = 'Hello Dotcpp编程!'
// 查询方法
console.log(str.charAt(0)); // "H"
console.log(str.indexOf("Dotcpp")); // 6
console.log(str.includes("Dotcpp")); // true
// 操作方法
console.log(str.slice(6, 12)); // "Dotcpp"
console.log(str.split(" ")); // ["Hello", "Dotcpp编程!"]
// 格式化方法
console.log(str.toUpperCase()); // "HELLO DOTCPP编程!"
console.log(" hello ".trim()); // "hello"
console.log("5".padStart(3, "0")); // "005"
// 正则方法
console.log(str.replace("Dotcpp", "World")); // "Hello World编程!"
/* 模板字符串 */
const introduction = `${str}其网址为:dotcpp.com`
console.log(introduction);//Hello Dotcpp编程!其网址为:dotcpp.com总结:本节我们主要介绍了JS中的String对象,包括它的创建方式、静态方法、实例方法以及模板字符串等特性。字符串处理是前端开发中最常用的操作之一,掌握String对象的方法对于提高开发效率至关重要。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程