七、字符串
1.创建字符串
- 字面量的形式创建字符串
- var str = 'abc'
- 内置构造函数的形式创建字符串
- var str = new String()
2.字符串的length与下标
- length与下标的含义和数组中的一样
- length:长度
- 索引(下标):获取到字符串
- 注意: 字符串中通过索引能够获取到指定位置的值, 只不过获取到的值是 只读的(换句话说获取到的值, 能看 不能改)
3.字符串的方法
- chartAt
- 语法:字符串.chartAt(索引)
- 作用:查询指定下标的值
- 返回值:查询到的值,如果没有查询到就是一个 空字符串
- chartCodeAt
- 语法:字符串.charCodeAt(索引)
- 作用:查询指定下标的值 对应的 十进制码
- 返回值:查询到的值对应的十进制码,如果没有查询到会返回一个 NaN
- toLowerCase
- 语法:字符串.toLowerCase()
- 作用:将这个字符串转换为小写
- 返回值:转换后的字符串
- toUpperCase
- 语法:字符串.toUpperCase()
- 作用:将这个字符串转换为大写
- 返回值:转换后的字符串
4.字符串的方法2
- substr
- 语法:字符串.substr(开始索引,多少个)
- 作用:截取指定的字符串
- 返回值:截取到的字符串
- 注意:官方说明这个方法将来某一天可能会删除,所以建议我们使用 substring
- substring(用第二个)
-
语法:字符串.substring(开始索引,结束索引)
-
作用:截取指定的字符串
-
返回值:截取到的字符串
-
注意:
- 1.参数包前不包后
- 2.结束索引可以不写,相当于写了 length
- 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
- concat
- 语法:字符串.concat(数据1, 数据2, 数据3...)
- 作用:将字符串和 参数传递的数据 进行拼接
- 返回值:拼接后的字符串
- indexOf
- 语法:字符串.indexof(数据, 开始的下标)
- 作用:寻找数据在字符串中的位置
- 返回值:找到的时候返回下标,找不到返回 -1
- 注意:第二个参数可以不传递,默认为0
- lastIndexOf
- 语法:字符串.lastIndexof(数据, 开始索引)
- 作用:寻找数据在字符串中的位置(从右往前/从右往左)
- 返回值:找到的时候返回下标,找不到返回 -1
- 注意:第二个参数可以不传递,默认为length-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
- trim
- 语法:字符串.trim()
- 作用:去掉字符串两侧的空格
- 返回值:去掉空格后的字符串
- trimStart / trimLeft
- 语法:字符串.trimStart() / 字符串.trimLeft()
- 作用:去掉字符串开始(左侧)的空格
- 返回值:去掉空格后的字符串
- trimEnd / trimRight
- 语法:字符串.trimEnd() / 字符串.trimRight()
- 作用:去掉字符串结束(右侧)的空格
- 返回值:去掉空格后的字符串
7.字符串方法5
- includes
-
语法:字符串.includes(字符串片段)
-
作用:判断 当前字符串中,是否拥有指定字符串片段
-
返回值:一个布尔值
- true -> 拥有
- false -> 没有
- startsWidth
-
语法:字符串.startsWidth(字符串片段)
-
作用:判断 字符串开头,是不是否指定字符串片段
-
返回值:一个布尔值
- true -> 是开头
- false -> 不是开头
- endsWidth
-
语法:字符串.endsWidth(字符串片段)
-
作用:判断 字符串结尾,是不是否指定字符串片段
-
返回值:一个布尔值
- true -> 是结尾
- false -> 不是结尾
- replace
- 语法:字符串.replace('要被替换的字符', '替换后的字符')
- 作用:找到当前字符串中第一个参数对应的值,然后将其替换为第二个参数
- 返回值:替换完成的字符串
//4.replace
var str1 = str.replace('qwer', '@!#$%^')
console.log(str1) //@!#$%^tyuiop
var str2 = str.replace('vbf', '@!#$%^')
console.log(str2) //qwertyuiop