笔记七、JavaScript——字符串

100 阅读4分钟

七、字符串

1.创建字符串

  1. 字面量的形式创建字符串
  • var str = 'abc'
  1. 内置构造函数的形式创建字符串
  • var str = new String()

2.字符串的length与下标

  • length与下标的含义和数组中的一样
  • length:长度
  • 索引(下标):获取到字符串
  • 注意: 字符串中通过索引能够获取到指定位置的值, 只不过获取到的值是 只读的(换句话说获取到的值, 能看 不能改)

3.字符串的方法

  1. chartAt
  • 语法:字符串.chartAt(索引)
  • 作用:查询指定下标的值
  • 返回值:查询到的值,如果没有查询到就是一个 空字符串
  1. chartCodeAt
  • 语法:字符串.charCodeAt(索引)
  • 作用:查询指定下标的值 对应的 十进制码
  • 返回值:查询到的值对应的十进制码,如果没有查询到会返回一个 NaN
  1. toLowerCase
  • 语法:字符串.toLowerCase()
  • 作用:将这个字符串转换为小写
  • 返回值:转换后的字符串
  1. toUpperCase
  • 语法:字符串.toUpperCase()
  • 作用:将这个字符串转换为大写
  • 返回值:转换后的字符串

4.字符串的方法2

  1. substr
  • 语法:字符串.substr(开始索引,多少个)
  • 作用:截取指定的字符串
  • 返回值:截取到的字符串
  • 注意:官方说明这个方法将来某一天可能会删除,所以建议我们使用 substring
  1. substring(用第二个)
  • 语法:字符串.substring(开始索引,结束索引)

  • 作用:截取指定的字符串

  • 返回值:截取到的字符串

  • 注意:

    • 1.参数包前不包后
    • 2.结束索引可以不写,相当于写了 length
  1. slice
  • 语法:字符串.slice(开始索引,结束索引)

  • 作用:截取指定的字符串

  • 返回值:截取到的字符串

  • 注意:

    • 1.参数包前不包后
    • 2.结束索引可以不写,相当于写了 length
    • 3.开始索引不写,相当于写了0
    • 4.结束索引支持写负数,相当于 length+ 负数
var str1 = str.slice(0, 3)
console.log(str1) //qwe

var str2 = str.slice(0) //从下标0开始;结束索引不写,默认为length

console.log(str2) //qwertyuiop
var str3 = str.slice() //开始索引不写,默认为0;结束索引不写,默认为length

console.log(str3)
var str4 = str.slice(0, -3) 
console.log(str4) //qwertyu
复制代码

5.字符串方法3

  1. concat
  • 语法:字符串.concat(数据1, 数据2, 数据3...)
  • 作用:将字符串和 参数传递的数据 进行拼接
  • 返回值:拼接后的字符串
  1. indexOf
  • 语法:字符串.indexof(数据, 开始的下标)
  • 作用:寻找数据在字符串中的位置
  • 返回值:找到的时候返回下标,找不到返回 -1
  • 注意:第二个参数可以不传递,默认为0
  1. lastIndexOf
  • 语法:字符串.lastIndexof(数据, 开始索引)
  • 作用:寻找数据在字符串中的位置(从右往前/从右往左)
  • 返回值:找到的时候返回下标,找不到返回 -1
  • 注意:第二个参数可以不传递,默认为length-1
  1. split
  • 语法:字符串.split('符号')
  • 作用:在 字符串中找到 '符号',然后将这个字符串分隔,并放在一个数组内
  • 返回值:一个数组
  • 注意:参数如果传递的是 空字符串(''),会将字符串全部分隔开
//4.split
var str = 'qwer, tyui, asf, ghjk'
console.log('原始字符串:', str)
var str1 = str.split(',')
console.log(str1) //["qwer", " tyui", " asf", " ghjk"]
var str2 = str.split(', ')
console.log(str2) //["qwer", "tyui", "asf", "ghjk"]
var  str3 = str.split('i')
console.log(str3) //["qwer, tyu", ", asf, ghjk"]
var  str4 = str.split(' ')
console.log(str4) //["qwer,", "tyui,", "asf,", "ghjk"]
var  str5 = str.split('') //传递的是一个空字符串,会将这个字符串全部分隔开,放在一个数组中
console.log(str5) //["q", "w", "e", "r", ",", " ", "t", "y", "u", "i", ",", " ", "a", "s", "f", ",", " ", "g", "h", "j", "k"]
var  str6 = str.split('@')
console.log(str6)//["q", "w", "e", "r", ",", " ", "t", "y", "u", "i", ",", " ", "a", "s", "f", ",", " ", "g", "h", "j", "k"]
复制代码

6.字符串方法4

  1. trim
  • 语法:字符串.trim()
  • 作用:去掉字符串两侧的空格
  • 返回值:去掉空格后的字符串
  1. trimStart / trimLeft
  • 语法:字符串.trimStart() / 字符串.trimLeft()
  • 作用:去掉字符串开始(左侧)的空格
  • 返回值:去掉空格后的字符串
  1. trimEnd / trimRight
  • 语法:字符串.trimEnd() / 字符串.trimRight()
  • 作用:去掉字符串结束(右侧)的空格
  • 返回值:去掉空格后的字符串

7.字符串方法5

  1. includes
  • 语法:字符串.includes(字符串片段)

  • 作用:判断 当前字符串中,是否拥有指定字符串片段

  • 返回值:一个布尔值

    • true -> 拥有
    • false -> 没有
  1. startsWidth
  • 语法:字符串.startsWidth(字符串片段)

  • 作用:判断 字符串开头,是不是否指定字符串片段

  • 返回值:一个布尔值

    • true -> 是开头
    • false -> 不是开头
  1. endsWidth
  • 语法:字符串.endsWidth(字符串片段)

  • 作用:判断 字符串结尾,是不是否指定字符串片段

  • 返回值:一个布尔值

    • true -> 是结尾
    • false -> 不是结尾
  1. replace
  • 语法:字符串.replace('要被替换的字符', '替换后的字符')
  • 作用:找到当前字符串中第一个参数对应的值,然后将其替换为第二个参数
  • 返回值:替换完成的字符串
//4.replace
var str1 = str.replace('qwer', '@!#$%^')
console.log(str1) //@!#$%^tyuiop
var str2 = str.replace('vbf', '@!#$%^')
console.log(str2)  //qwertyuiop