Javascript——字符串数据类型(String)

  • 了解字符串
    • 由引号(双引号、单引号、反引号)包裹的值叫做字符串
    • 字符串在使用时自动转换为复杂数据类型,使用完后自动转为基本数据类型
    • 当使用 字符串.xxx操作语法时,字符串转为复杂数据类型,在堆空间开辟一块空间,将每个字符按照索引进行排列,就可以访问里面的数据,使用结束后,转为基本数据类型,在堆空间内开辟的空间也自动销毁
  • 字符串的创建方法
    • 字面量创建方法:var 字符串名=''
    • 内置构造函数创建方法:var 字符串名=new String('')
  • 创建字符串初始化数据
    • 字面量创建方法:在var str = 'hello world'内直接写数据即可
    • 内置构造函数创建方法:var str = new String('hello world')内写数据即可
  • 其他数据类型转换为字符串数据类型方法
    • 语法:变量.toString()
    • 【Javascript——字符串数据类型(String)】转换规则:
      • 可将数值、布尔值、字符串转为字符串类型
      • undefined 和 null无法转为字符串类型
  • 字符串的length属性
    • 字符串的length属性表示一个字符串的长度;使用 字符串.length 可获取一个字符串的长度;字符串无法设置自己的长度;在字符串中,空格也算一个字符
    • 通过 字符串名[索引] 可获取指定下标的字符,但是不能对某一个字符进行修改,因为字符串时基本数据类型,所以只能重新赋值覆盖之前的数据
  • 字符编码
    • ASCII 码:一共128个,键盘上每个按键对应一个二进制码
    • Unicode 码:国际编码,目前使用的为UTF-8
    • GBK 码:中文编码,包含所有汉字
    • 不同的编码,同一个码值所对应的内容也不一样
  • 字符串操作方法
    • 获取字符串中指定索引上的字符
    语法:字符串名.charAt(索引) 返回值:索引位置存在,返回对应字符,索引位置不存在返回空 使用:str.charAt(12)

    • 获取字符串中指定索引上的字符的UTF-8编码值
    语法:字符串名.charCodeAt(索引) 返回值:索引位置字符的编码,索引位置不存在返回NaN 使用:str.charCodeAt(12)

    • 截取字符串
    语法:字符串名.substr(开始截取索引,截取个数) 参数:不写参数默认全部截取,参数二不写截取到字符串末尾 返回值:截取到的字符串 使用:str.substr(1,5)

    • 截取字符串
    语法:字符串名.substring(开始截取索引,结束截取索引) 参数:不写参数默认全部截取,参数二不写截取到字符串末尾 返回值:截取到的字符串 使用:str.substr(1,5)

    • 将字符串中大写字母转为小写字母
    语法:字符串名.toLowerCase() 返回值:转换后的字符串 使用:str.toLowerCase()

    • 将字符串中小写字母转为大写字母
    语法:字符串名.toUpperCase() 返回值:转换后的字符串 使用:str.toUpperCase()

    • 替换指定字符串
    语法:字符串名.replace('需要进行替换的字符串','替换的字符串内容') 注意点:参数一字符串中没有时,不进行替换,遇到第一个满足条件的内容替换后不再往下替换 返回值:替换后的字符串 使用:str.replace('H','h')

    • 拼接字符串
    语法:字符串名.concat('拼接的字符串'···) 参数:可以直接写字符串,也可以写字符串变量 返回值:替换后的字符串 使用:str.concat(str2,' 世界')

    • 截取字符串
    语法:字符串名.slice(开始索引,结束索引) 参数:索引写负整数表示从 length + 负整数位置 返回值:截取到的字符串 使用:str.slice(5,10)

    • 切割字符串
    语法:字符串名.split('切割的符号',切割个数) 参数:参数1不写时返回整个字符串,写空字符串表示一位一个进行切割;参数2表示切割的个数,默认为全部进行切割 返回值:切割后一个存储字符的一个数组 使用:str.split(' ',11)

    • 从字符串开始位置向后查找字符串片段在字符串中首次出现的位置
    语法①:字符串.indexOf('字符串片段') 语法②:字符串.indexOf('字符串片段', 开始索引) 返回值:字符串中存在该字符串片段,返回对应索引,字符串中不存在该字符串片段,返回-1 使用:str.indexOf('H') str.indexOf('H',5)

    • 从字符串结束位置向前查找字符串片段在字符串中首次出现的位置
    语法①:字符串.lastIndexOf('字符串片段') 语法②:字符串.lastIndexOf('字符串片段', 开始索引) 返回值:字符串中存在该字符串片段,返回对应索引,字符串中不存在该字符串片段,返回-1 使用:str.lastIndexOf('H') str.lastIndexOf('H',5)

    • 判断字符串中是否包含某一个字符串片段
    语法:字符串.includes('字符串片段') 返回值:字符串中存在该字符串片段,返回 true,字符串中不存在该字符串片段,返回false 使用:str.includes('w')

    • 查找字符串中首次出现的字符串片段位置
    语法:字符串.search('字符串片段') 参数:参数可以写正则表达式 返回值:字符串中存在该字符串片段,返回对应索引,字符串中不存在该字符串片段,返回-1 使用:str.search('w')

    • 查找字符串中所有匹配的字符串片段
    语法:字符串.match('字符串片段') 参数:参数一般写正则表达式 返回值:一个存储查找到匹配的字符串片段的数组 使用:str.match('w')

    • 去除字符串首尾空格
    语法:字符串.trim() 返回值:去除首尾空格后的字符串 使用:str.trim()

    • 去除字符串头部的空格
    语法:字符串.trimStart() 返回值:去除头部空格后的字符串 使用:str.trimStart()

    • 去除字符串尾部的空格
    语法:字符串.trimEnd() 返回值:去除尾部空格后的字符串 使用:str.trimEnd()

    • 从字符串前面补齐字符串
    语法:字符串.padStart(目标长度, '填充字符') 参数:参数1:目标长度小于字符串长度时,方法无意义;目标长度大于或等于时,使用填充字符进行填充;参数2:可以是多个字符,也可以只有一个字符,多个字符超出长度后,后面不能补齐的字符被丢弃 返回值:补齐后的字符串 使用:str.padStart(11,'世界')

    • 从字符串后面补齐字符串
    语法:字符串.padEnd(目标长度, '填充字符') 参数:参数1:目标长度小于字符串长度时,方法无意义;目标长度大于或等于时,使用填充字符进行填充;参数2:可以是多个字符,也可以只有一个字符,多个字符超出长度后,后面不能补齐的字符被丢弃 返回值:补齐后的字符串 使用:str.padEnd(11,'世界')

    • 判断一个字符串是否以 指定字符串片段 开始
    语法:字符串.startsWith('字符串片段') 返回值:如果是以该字符串片段开始返回 true ,如果不是以该字符串片段开始返回 false 使用:str.startsWith('世界')

    • 判断一个字符串是否以 指定字符串片段 开始
    语法:字符串.endsWith('字符串片段') 返回值:如果是以该字符串片段开始返回 true ,如果不是以该字符串片段开始返回 false 使用:str.endsWith('世界')

    推荐阅读