js中字符串的方法和属性总结

1.字符串的声明

1.通过引号或者大写的String

var str = "abc"
console.log(str);//返回abc
var str1 = String("abc")
console.log(str1);//返回abc

2.通过new关键字创建一个string对象

var str2 = new String("abc")
console.log(str2);//这个返回了一个string对象

2.字符串的属性

1.length属性(返回字符串的长度),和空格都算一个长度

var str = "abc"
console.log(str.length);//返回3

2.可以通过下标访问元素

var str = "abc"
console.log(str[1]);//b

3.字符串的方法

1.通过下标找字符的两个方法charAt()和charCodeAt()方法

它们之间有一个差别就是当下标超出范围时,charAt无返回值,但charCodeAt返回NAN

var str3 = "ghdhiwhdb,g,y"
console.log(str3.charAt(9));//,
console.log(str3.charAt(14));//无返回数据
//charCodeAt()方法
var str4 = "bhgfdterxvdk,j"
console.log(str4.charCodeAt(6));//返回字符编码
console.log(str4.charCodeAt(20));//返回NAN

2.通过字符串找下标的两种方式indexof()和lastIndexOf()都可以传两个参数来规定查找起始位置

//indexof方法
var str5 = "nchhuhdhbchdb"
console.log(str5.indexOf("ch"));//1 从头找到尾
console.log(str5.indexOf("ch", 4));//9 从下标为4的地方开始找
//lastIndexOf()方法
var str6 = "dgguihduwbdduef"
console.log(str6.lastIndexOf("ue"));//12 从后往前找
console.log(str6.lastIndexOf("ue", 6));//返回-1因为没有找到,从下标为6的地方开始从后往前找

3.字符串拼接方法concat()方法

//concat方法()
var str7 = "gbhuytfcxvyvx"
console.log(str7.concat("123", "w", "we"));//gbhuytfcxvyvx123wwe

4.字符串截取的三种方法substr(),subString(),slice()方法

substring()和slice()的参数都是开始下标和结束下标,但有几个区别,substring方法当开始下标大于结束下标时会自动调整位置,但slice不会,而且substring不可以传负值,但slice可以

//subStr()方法
var str8 = "nchbghbchcbjuhcc"
console.log(str8.substr(2, 4));//hbgh 开始下标和个数
//substring()方法
var str9 = "bchbhgcbf,"
console.log(str9.substring(1, 5));//chbh 开始下标和结束下标(不包含)
console.log(str9.substring(-1, 2));//bc 负数直接变为0
console.log(str9.substring(5, 2));//如果前一个的下标在后面的话,会自动调整顺序
//slice()方法
var str10 = "bxscjbhvcdhb"
console.log(str10.slice(1, 3));//xs 开始下标和结束下标(不包含)
console.log(str10.slice(-2, -1));//h -1下标就表示最后一个下标 -2下标就表示倒数第二个下标
console.log(str10.slice(-1, -2));//如果前一个的下标在后面的话 无返回值

5.支持正则的几种方法seach()方法根据字符串找下标,replace()替换字符,match()匹配字符串,split()分割字符串为数组

//search()方法
var str11 = "ftfvuvcn  gyftcdrdcf"
console.log(str11.search(/[cd][cd]/));//返回第一个匹配的下标,只有一个参数,不能规定查找起始位置
//replace()方法
var str12 = "qwertyuiop"
console.log(str12.replace("qw", "as"));//asertyuiop 用as来替换qw
console.log(str12.replace(/[ty]/g, "v"));//qwervvuiop 将所有的t或者y替换成v
//split()方法
var str13 = "asdfghjkl"
console.log(str13.split());//不传参时默认不分割,输出一个数组,只有一个元素['asdfghjkl']
console.log(str13.split("d"));//以d进行分割['as', 'fghjkl']
//match()
var str14 = "zxcvbnm"
console.log(str14.match(/[zx][zx]/));//['zx', index: 0, input: 'zxcvbnm', groups: undefined]返回一个符合这个条件的字符串的信息数组

6.大写和小写toUppCase()和toLowerCase()

//toUpperCase()和toLowerCase()
var str15 = "DFGcvgyHJJ"
console.log(str15.toUpperCase());//全大写DFGCVGYHJJ
console.log(str15.toLowerCase());//全小写dfgcvgyhjj

7.es5新增的字符串方法includes()判断是否包含,startsWith()判断是否以...开头,endsWith()判断是否以...结尾,repeat()平铺字符串

//includes()
var str16 = "bhbcbehwcbjumcbj"
console.log(str16.includes("um"));//ture 判断是否包含um
//startsWith()
var str17 = "gbxhebcuvkcb,u"
console.log(str17.startsWith("g"));//ture
//endsWith()
var str18 = "bcjbcjlv"
console.log(str18.endsWith("lv"));//ture
//repeat()
var str19 = "bchjdcgduhcb"
console.log(str19.repeat(3));//bchjdcgduhcbbchjdcgduhcbbchjdcgduhcb 将字符串重复三次
console.log(str19.repeat())//不传参则没有返回值
posted @ 2022-08-13 14:17  其实没吃饱  阅读(271)  评论(0)    收藏  举报