字符串的所有方法都是在调用JS为字符串提供的函数,都会返回一个新的结果,对原字符串没有影响
字符串的下标也是从0开始,表示字符串中的第一个字符
1、length属性 获取字符串的长度(单个字符的数量)
var str1 = "hello world"
var str2 = 'abc'
console.log(str1.length) // 11 (空格也会被解析计算机成0和1组成的二进制数)
2、charAt() 获取字符串中指定位置的字符 (charAt是字符串的一个方法,拥有返回值)
var res1 = str1.charAt(0)
console.log(res1) // h
3、concat() 连接2个字符串,返回值为新的字符串
var res2 = str1.concat(str2)
console.log(res2) // hello worldabc
4、indexOf() 返回某个字符在字符串中首次出现的位置
var res3 = str1.indexOf('o')
console.log(res3) // 4
5、lastIndexOf() 返回某个字符在字符串中最后一次出现的位置
var res4 = str1.indexOf(‘o’)
console.log(res4) // 7
6、replace() 替换指定的字符串,返回一个新的字符串 (只替换第一个)
var res5 = str1.replace('o','梦里花落知多少')
console.log(res5)
7、split() 将字符串以规定的形式转换成数组
1)参数为空,将整个字符串作为单个元素放到了数组中
var str3 = 'sfcq'
var arr1 = str3.split() // ["sfcq"]
2)参数为空字符串,以空字符串切割原字符串
var arr2 = str3.split('') // ['s','f','c','q']
3) 参数为指定字符
var arr3 = str.split('c')
console.log(arr3) // ['sf','q']
数组的join方法和字符串的split方法的区别
// join()
// // join方法是用一个连接符将数组的每一个元素连接后转为字符串,参数为空时,默认以逗号连接
var arr = ['a','b','c']
var str1 = arr.join() // 'a,b,c'
var str2 = arr.join('') // 'abc'
var str3 = arr.join(' ') // 'a b c'
var str4 = arr.join('~') // 'a~b~c'
// split()
// split方法是以一个参数为标准进行前后截取,各生成一个新的字符串,放到数组中,如果参数为空或者参数为指定字符串中不存在的字符,则找不到这个标准进行截取,只能将整个字符串作为一个整体放到数组中
var newStr = 'sfcq'
var newArr1 = newStr.split() // ["sfcq"]
var newArr2 = newStr.split('') // ['s','f','c','q']
var newArr3 = newStr.split('c') // ['sf','q']
// 特殊情况
// 使用split截取的时候,以参数为标准进行前后截取,各生成一个字符串,如果这个参数是指定字符串的首字符,则前面只能生成一个空字符串
var newArr4 = newStr.split('s') // ['','fcq']
var newArr5 = newStr.split('q') // ['sfc','']
8、截取字符串
1) substr 从指定位置开始截取指定长度的字符,并返回截取到的这个字符
string.substr(index,length) 从string的第index(包含这个位置)个字符开始,截取length个字符
var str = 'you raise me up'
var res1 = str.substr(1,5)
console.log(res1) // ou ra
// 只传一个参数的时候,会截取到从该参数位置开始之后的所有字符
var res2 = str.substr(1) // ou raise me up
2)substring 从指定位置开始截取到指定位置的字符,并返回截取到的字符
string.substring(start,end) 截取start(包含这个位置)位置到end(不包含这个位置)位置之间的字符
var res3 = str.substring(1,5)
console.log(res3) // ou r
// 只传一个参数的时候,会截取到从该参数位置开始之后的所有字符
var res4 = str.substring(1) // ou raise me up
3)slice 用法和substring相似,只不过可以穿负数,负数代表从右向左数的位置(倒数第一个字符为-1)
string.slice(start,end)
var res5 = str.slice(1,5)
console.log(res5) // ou r
var res6 = str.slice(-5,-1) // me u
console.log(res6)
var res7 = str.slice(1)
console.log(res7) // ou raise me up
var res8 = str.slice(-7)
console.log(res8) // e me up
// 只传一个参数的时候,会截取到从该参数位置开始之后的所有字符
练习:
var strTest= '100px'
var res9 = strTest.slice(-2) // 'px'
var res10 = strTest.slice(0,-2) // '100'
总结:
这3个方法,如果只穿一个参数,都是从这个参数位置开始,截取到字符串的末尾,返回一个新的字符串
9、toUpperCase() 将字符串中所有小写字母转成大写字母
toLowerCase()将字符串中所有的大写字母转成小写字母