七、字符串

字符串的所有方法都是在调用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()将字符串中所有的大写字母转成小写字母

posted @ 2019-06-09 11:40  风的记忆乀  阅读(153)  评论(0编辑  收藏  举报