JS中内置构造函数String( )

161 阅读2分钟

上篇文章整理了有关数组的知识点,其中有提到类数组的概念--具有length和数字索引属性的对象。字符串原始值属于基本类型,但是在调用字符串的属性和方法时会被自动转换为基本包装类型--具有length和数字索引属性的对象,此时也属于类数组的范围,所以我们接着类数组的概念来继续学习类数组字符串。

创建字符串的方式:

字面量方式;

构造函数创建方式:new String( ) 生成字符串对象;String( ) 显性强制转换为字符串类型;前者生成的是对象,后者生成的是字符串;

String.fromCharCode():通过字符码生成字符串;String.fromCodePoint();

访问字符串某个单个字符:

str.at(index):index支持负值;str.charAt(index):index不支持负值;str[index],但是通过数组索引的方式访问字符串是不能修改字符串的,这是因为字符串对象的修饰符不允许修改。所有的字符串方法和属性都不能修改原字符串,只能生成新字符串;

检索子字符串

str.includes(substr,index):检索字符串str是否包含子字符串substr,返回布尔值;

str.indexOf(substr,index):返回子字符串substr在字符串str中第一次出现的位置索引;str.search(reg/substr):一个正则表达式(regular expression)对象。如果传入一个非正则表达式对象 regexp,则会使用 new RegExp(regexp) 隐式地将其转换为正则表达式对象。

str.match(reg/str):检索匹配部分或所有符合匹配规则的子字符串,返回一个结果合集数组;关联方法:str.matchAll(reg/str)。

替换字符串中的部分字符,生成新的字符串

newStr = str.replace(subStr/reg,()=>{}):关联方法:newStr = str.replaceAll(subStr/reg,()=>{})。

复制生成新的字符串

newStr = str.sclice(startIdex,endIndex):参数支持负值索引值;newStr = str.subString(startIdex,endIndex):参数只支持字符串索引范围内的值,不支持负值

【金山文档】 字符串整理笔记 kdocs.cn/l/coUMsMjJp…