🔗关于字符串(String)对象
- 字符串对象使用new String()来创建,在String构造函数中传入字符串,就会在返回的字符串对象中保存这个字符串。
var str = new String('apple'); // 创建字符串对象 console.log(str); // 输出结果:String {"apple"} console.log(str.length); // 获取字符串长度,输出结果:5
- 实际上,字符串在JavaScript中是一种基本包装类型。JavaScript中的基本包装类型包括String、Number和Boolean,用来把基本数据类型包装成为复杂数据类型,从而使基本数据类型也有了属性和方法。
- 需要注意的是,虽然JavaScript基本包装类型的机制可以使普通变量也能像对象一样访问属性和方法,但它们并不属于对象类型
var obj = new String('Hello'); console.log(typeof obj); // 输出结果:object console.log(obj instanceof String); // 输出结果:true var str = 'Hello'; console.log(typeof str); // 输出结果:string console.log(str instanceof String); // 输出结果:false
- 从上述代码可以看出,使用new String()返回的obj是一个对象,但是普通的字符串变量并不是一个对象,它只是一个字符串类型的数据。
🔗补充
String 对象属性
属性 | 描述 |
constructor | 对创建该对象的函数的引用 |
length | 字符串的长度 |
prototype | 允许您向对象添加属性和方法 |
String 对象方法
方法 | 描述 |
charAt() | 返回在指定位置的字符。 |
charCodeAt() | 返回在指定的位置的字符的 Unicode 编码。 |
concat() | 连接两个或更多字符串,并返回新的字符串。 |
endsWith() | 判断当前字符串是否是以指定的子字符串结尾的(区分大小写)。 |
fromCharCode() | 将 Unicode 编码转为字符。 |
indexOf() | 返回某个指定的字符串值在字符串中首次出现的位置。 |
includes() | 查找字符串中是否包含指定的子字符串。 |
lastIndexOf() | 从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。 |
match() | 查找找到一个或多个正则表达式的匹配。 |
repeat() | 复制字符串指定次数,并将它们连接在一起返回。 |
replace() | 在字符串中查找匹配的子串,并替换与正则表达式匹配的子串。 |
replaceAll() | 在字符串中查找匹配的子串,并替换与正则表达式匹配的所有子串。 |
search() | 查找与正则表达式相匹配的值。 |
slice() | 提取字符串的片断,并在新的字符串中返回被提取的部分。 |
split() | 把字符串分割为字符串数组。 |
startsWith() | 查看字符串是否以指定的子字符串开头。 |
substr() | 从起始索引号提取字符串中指定数目的字符。 |
substring() | 提取字符串中两个指定的索引号之间的字符。 |
toLowerCase() | 把字符串转换为小写。 |
toUpperCase() | 把字符串转换为大写。 |
trim() | 去除字符串两边的空白。 |
toLocaleLowerCase() | 根据本地主机的语言环境把字符串转换为小写。 |
toLocaleUpperCase() | 根据本地主机的语言环境把字符串转换为大写。 |
valueOf() | 返回某个字符串对象的原始值。 |
toString() | 返回一个字符串。 |
String HTML 包装方法
HTML 返回包含在相对应的 HTML 标签中的内容。
以下方法并非标准方法,所以可能在某些浏览器下不支持。
参考来自
https://www.runoob.com/jsref/jsref-obj-string.html
https://book.itheima.net/course/1258676978588860418/1277481554465005570/1277490842033987587