字符串方法

1. 字符串字面量

字面量:literals 直接量:所见即所得

通过字面量也可以调用字符串方法

2. 字符串对象=>类数组

var str = new String('kaikeba'); typeof str -> object

3. 类数组:类似数组

和数组长得非常像,但不是数组,因为并不具备数组的所有方法

4.查找类方法

(1)通过下标str[index]获取值,但有兼容性问题,IE8以下无法使用

(2)通过str.charAt(index)获取值,可以解决兼容性问题,index默认值为0,如果超出str.length或者小于0,会返回一个空字符串

(3)通过str.charCodeAt(index)获取当前字符的Unicode编码,可以用来比较字符串大小,index不给的话,默认值为0,如果如果超出str.length或者小于0(下标不存在),会返回一个NaN

(4)通过String.fromCharCode(num1, num2,...,numN)破解Unicode编码,返回num对应的字符

(5)通过str.indexOf(searchValue[, fromIndex])查找str中是否有对应的字符串,如果有,返回该字符串第一次出现的索引值

- searchValue 当前想要查找的值

如果说,查找的值不存在,返回一个-1!

- fromIndex 从当前位置开始查找,不填默认为0

如果值小于0 ,会当作0进行处理

如果值大于str.length(超出索引值范围),会返回-1

(6)通过str.lastIndexOf(searchValue[, fromIndex])查找str中是否有对应的字符串,如果有,返回该字符串最后一次出现的索引值;也就是从后往前查找,返回查找指定字符对应的索引值

- searchValue 当前想要查找的值

如果说,查找的值不存在,返回一个-1!

- fromIndex 起始默认位置(从后往前),不填默认为str.length

如果值小于0 ,会当作0进行处理

如果值大于str.length(超出索引值范围),会当作str.length进行处理

5.截取类方法

(1)str.slice(begin, end)

返回的是截取的字符串,从begin的位置开始,到end的 位置结束,但不包含end的字符

- begin 截取的起始位置,不传默认为0,可以接收负数,如果是负数(如果当前数小于-length,都会当作0进行处理),则会倒数n位,进行截取

- end 截取的结束位置,不传默认位length,如果大于length,都会当作length进行处理,可以接收负数,如果是负数(如果当前数小于-length,都会当作0进行处理),则会倒数n位,进行截取

begin是包含在截取的字符串内的,而end是不包含在内的

如果end对应的索引处在begin前面,会返回一个空字符串

begin如果超出length,会返回一个空字符串

begin和end处于同一个索引值,会返回一个空字符串

(2)str.substr(start[, length])

(不推荐使用,将来可能会被废除)

截取从start位置开始的字符,返回的是新的字符串,并不会改变原有字符串

- start 截取的起始位置,可以是负数,如果是负数,则从后往前查找length+(start)

如果起始位置的值太大,则默认为0

- length 截取字符的个数,不填,默认到字符串结尾的位置,如果超出length,则默认到字符串结尾的位置

如果个数为负数,则返回一个空字符串

(3)str.substring(begin[, end])(推荐使用)

返回截取的字符串

- begin 截取的起始位置,默认为0

如果小于0 ,则按0进行处理

如果超过length,则返回一个空的字符串

- end 截取的结束位置,默认为length

如果小于0,则按0进行处理

如果超过length,则按length处理

截取的时候包含begin的值,不包含end的值

如果begin对应的索引值在后,end索引值在前,那么就会将begin和end调换

eg:str.substring(5,1) 等同于 str.substring(1,5)

如果begin=end,则返回一个空字符串

(4)str.split(separator[, num])

- separator 决定分隔的字符,该字符的位置会作为分隔点,并且自己是并不在当前数组内的

如果是“”,可以把每一个字符都分隔开

如果是分隔的字符处在字符串的首尾,则会有一个空的字符串

- num 可选,决定分隔的数组中的个数

如果说给的值,超过length,分隔也只会以当前字符串的最大分隔为标准

也可以用来得到当前字符出现的次数str.split(separator).length-1

(5)str1.concat(str2, str3,..., strN)

返回的是一个新的字符串,并不会改变原有的字符串

+= 的性能比 concat 要更好

(6)str.toLowerCase()

把字符串转成小写,生成一个新字符串,并不会影响原有的字符串

(7)str.toUpperCase()

把字符串转成大写,生成一个新字符串,并不会影响原有的字符串

(8)str.trim()

去除首尾的空格,但不能去除中间的空格

6. substring(begin,end) 和 slice(begin,end) 的区别

substring的参数允许begin>end,这样两个参数互换;参数为负,begin按0,end按length;

slice的参数不能互换;参数为负,倒着数第n位;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值